WiFi bridge OpenWrt router - jitter is worse than when connected directly to router

The title does not make it clear so here it is:

I have the main TP-link router in one room. In the other, I use the Asus RT-AC51U router with latest stable OpenWrt for this specific model, and I have wirelessly connected the Asus router to the main router. It works, but only kind of - when I connect with a laptop to the Asus router via cable, running speedtest, fast.com, etc, shows considerably higher jitter (in the hundreds), as opposed to connecting the laptop wirelessly directly to the main router at the same spot where the Asus router usually stays.

I know that bridging and repeating increases jitter but in the above scenario there shouldn't be a difference between connecting to the main router with another router which then sends the signal on a cable, and connecting to the main router directly with my laptop. Or at least the difference shouldn't really be that high. Am I missing something?

Channels and bandwidth on both routers correspond.

If I have understood you right, then:

Option 1: main router → wifi → Asus Router (OpenWrt) → cable → Client Laptop = lots of jitter
Option 2: main router → wifi → Client Laptop = less jitter

This experience could be explained by:

  1. Option 2 makes use of your Laptop's network card and antennaes. It could be that this network card is simply more performant (for whatever reason) than your Asus RT-AC51U. It would be interesting to know, the name of your laptop's network card and what operation system do you use + drivers / firmware version.

  2. Option 1 and Option 2 are conducted at different locations. Location is important when it comes to wifi performance

  3. Jitter could be introduced on the path from your main router to the fast.com instance. I would suggest to focus on trying to find the culprit within your own local network first, before you focus on something you have no control over. You could do this with one of the various measurement tools available, for example Iperf2 or Flent. I have collected some at Best practices and tools for measuring wifi performance.

  4. Your cable is broken

  5. It could be because of a bug

  6. It could be because of the way you configured your device.

    To let us know about your configuration, first, access your device (e.g. via SSH (See how: https://openwrt.org/docs/guide-quick-start/sshadministration)) and start the command line (CLI).

    Then please 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

You have understood correctly.

I have tried pinging the main router after I ssh into the Asus router and the ping over this wireless connection is fine. I ping the laptop I ssh from and the wired connection is fine as well. The pings are fine when I ping the main router from the laptop, while connected to the Asus WiFi brdige.

One thing I have noticed, when using the WiFi bridge, I get much higher speeds but full of download jitter (upload jitter is okayish, sub 100), however, when I connect to the main router directly, speeds (both upload and download) are as 3 to 4 times lower, but download jitter is low - 50ish. This is less than a meter from the spot where the Asus WiFi bridge router is located.

The RT-AC51U is indeed quite an old model (using the MediaTek MT7620 / MT7610E) and my laptop has a WiFi 6 intel chip (AX201), obviously the wifi6 chip is faster but then again the main router TP-Link is a 2.4GHz only, model is TL-WR740N/TL-WR741ND.

ubus call system board:



{
	"kernel": "5.10.176",
	"hostname": "OpenWrt",
	"system": "MediaTek MT7620A ver:2 eco:6",
	"model": "Asus RT-AC51U",
	"board_name": "asus,rt-ac51u",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "22.03.5",
		"revision": "r20134-5f15225c1e",
		"target": "ramips/mt7620",
		"description": "OpenWrt 22.03.5 r20134-5f15225c1e"
	}
}

cat /etc/config/network:

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

config globals 'globals'
	option ula_prefix 'xxxx:xxxx:xxxx::/00'

config interface 'wan'
	option proto 'dhcp'
	option device 'eth0.1'

config device 'wan_eth0_1_dev'
	option name 'eth0.1'
	option macaddr 'xx:xx:xx:xx:xx:xx'

config interface 'wan6'
	option proto 'dhcpv6'
	option device 'eth0.1'

config interface 'lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option device 'br-lan'

config device 'lan_eth0_2_dev'
	option name 'eth0.2'
	option macaddr 'xx:xx:xx:xx:xx:xx'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 6t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 2 3 4 6t'

config interface 'wlan1'
	option proto 'dhcp'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0.2'

cat /etc/config/wireless:

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '36'
	option hwmode '11a'
	option path 'pci0000:00/0000:00:00.0/0000:01:00.0'
	option htmode 'VHT80'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option key 'xxxxxxxxxxxxxxxx'
	option ssid 'RT-AC51U'
	option encryption 'psk2+tkip'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11g'
	option path 'platform/10180000.wmac'
	option htmode 'HT40'
	option cell_density '0'
	option noscan '1'
	option legacy_rates '1'
	option txpower '20'
	option channel '8'

config wifi-iface 'wifinet2'
	option key 'xxxxxxxxxxxxxxxx'
	option ssid 'TP-Link'
	option device 'radio1'
	option network 'TP-Link'
	option mode 'sta'
	option bssid 'xx:xx:xx:xx:xx:xx'
	option disassoc_low_ack '0'
	option encryption 'psk2+tkip+ccmp'
	option short_preamble '0'

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 authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option nonwildcard '1'
	option localservice '1'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv6 'server'
	option ra 'server'

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'

cat /etc/config/firewall

config defaults
	option syn_flood '1'
	option input 'ACCEPT'
	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 'TP-Link'

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 src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	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'

config include
	option path '/etc/firewall.user'
1 Like

A few things:

  1. you do some vlan magic. That could have an effect.
  2. Since your main router is only 2.4 GHz capable, enabling radio0, which is using the 5 GHz is not necessary. You can disable it.
  3. option channel '8': try channels 1, 6 or 11 with 20 MHz bandwidth. Any other channel will lead to more overlaps. See here:
  4. option htmode 'HT40': change to HT20, as HT40 will lead to more channel bandwidth overlaps and therefore more interference. If your wifi is contested by many neighbouring devices, this may even lead to throughput and latency improvements.
  5. option legacy_rates '1': put a 0 there? I don't know but would that not make your wifi slower?
  6. You have not set the countrycode. Not setting the countrycode will limit your device to use lower tx rates (3dbm I believe). Please set the country code (use your actual country. It is important. This is legal stuff. Any other country code can lead to high fines).
1 Like

I have set the channels to channel 8 on both the TP-Link and the Asus routers - the reason being other networks in the vicinity are using channels 1, 6 and 11. If both the routers are using the same channel 8 and same bandwidth, would that cause any issues?
I did change the channel to 11 and bw to 20MHz, but there are no changes whatsoever. The reception is quite good, the two routers are only separated by 1 floor and are located as close as possible to each other. Signal is -65 dBm-ish which is reasonably good.
Also, I'd rather keep the 5GHz for the time being, as initially I wanted to use the Asus as a repeater, when I was not happy with the jitter, I decided to test the wired connection and realized that the problem persisted even when using a cable (so repeater mode cannot be the sole cause of the jitter).
As for the VLANs, my laptop does not have an RJ45 port, instead I have to use a thunderbolt hub with an ethernet port, disabling VLAN will not allow the wired connection.

Now that I think about it, the hub maybe causing the problem. - But then again, pinging 192.168.1.1 when connected by cable results in <1ms

      • Initially these were as you suggested, and there was no difference.

I installed SQM but I am unsure how to configure it, but then again I do not think that is the root cause of the problem.

Also, when connected to the 5GHz radio from the laptop situated right next to the Asus router, I get pings of over 100ms to the router, (that is, to 192.168.1.1). That sounds way too high considering there isn't really any interference (only 5GHz network around)

Update - after enabling WMM on the main router, the problem seems to have disappeared - the download speed is significantly higher, and download jitter is 120ish, while upload speeds are higher than download and upload jitter is 30ms-ish. I'd say that is a fix, I'd really wish to know why the upload is higher and more stable than the download, but I would attribute this to the main TP-Link router as it is quite old, it's 32/4 router so no OpenWrt on it.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.