TL-WR940n slow wifi

Hi! I noticed that the WiFi speed on my tl-wr940n is about 25Mbps, while on ethernet it is around 80 Mbps. I have seen some people recommend irqbalance, but I don't think it will do anything since the router has only 1 CPU. What can I do to speed up the WiFi?

You are dealing with a very old 802.11n router, so this may be par for the course. But let’s see your config

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:
grafik
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@Bucatarie-RPT:~# ubus call system board
{
        "kernel": "4.14.267",
        "hostname": "Bucatarie-RPT",
        "system": "Qualcomm Atheros TP9343 rev 0",
        "model": "TP-Link TL-WR940N v6",
        "board_name": "tl-wr940n-v6",
        "release": {
                "distribution": "OpenWrt",
                "version": "19.07.9",
                "revision": "r11405-2a3558b0de",
                "target": "ar71xx/tiny",
                "description": "OpenWrt 19.07.9 r11405-2a3558b0de"
        }
}
root@Bucatarie-RPT:~# cat /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'
        option ula_prefix 'fdce:5ac6:4b65::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option stp '1'
        option igmp_snooping '1'
        option ipaddr '192.168.0.150'
        option gateway '192.168.0.1'

config interface 'wan'
        option ifname 'eth0'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth0'
        option proto 'dhcpv6'

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

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

config interface 'wwan'
        option proto 'dhcp'

root@Bucatarie-RPT:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11g'
        option path 'platform/qca956x_wmac'
        option channel 'auto'
        option txpower '20'
        option htmode 'HT20'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Andrei'
        option encryption 'psk2'
        option key 'password'
        option ieee80211r '1'
        option mobility_domain '1234'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'

config wifi-iface 'wifinet1'
        option device 'radio0'
        option mode 'sta'
        option ssid 'Andrei'
        option bssid 'E4:C3:2A:86:BA:03'
        option key ''
        option wds '1'
        option short_preamble '0'
        option disassoc_low_ack '0'
        option encryption 'psk2'
        option network 'lan'

root@Bucatarie-RPT:~# cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option localservice '1'
        list server '192.168.0.1'

config dhcp 'lan'
        option interface 'lan'
        option ignore '1'

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'

I don't have the firewall package since this is a repeater and does not need a firewall.

It seems you are using this as a WDS config... that's going to be a major issue with respect to possible bandwidth -- WDS basically halves the bandwidth (in the best of cases), so if you want to improve speed, you need to be wired.

Beyond that, once you're wired you can increase your speed by increasing the channel width:

Moving to 40 or even 80MHz will boost the theoretical bandwidth on your device. However, it also makes it more prone to interference and will probably also reduce range. You can try it and see what happens, but only after you've setup a wired backhaul.

Other things to note:

This is really old, and long since EOL and unsupported. There are many known security vulnerabilities in this old version, and it shouldn't be used anymore.

Regarding your configuration, it would probably make sense to remove stp and igmp snooping:

And I personally recommend against 802.11r unless there is a demonstrated need for it, and only after all AP tuning has been carefully tuned and optimized. You should consider turning it off (all APs):

Thanks! Why is the speed on the router's ethernet 80 Mbps though? Shouldn't the router get the halved speed? I would have expected the main router to get the full sped, then the repeater half speed and the repeater's wifi 1/4 of the full speed.

I'm not sure why it's only 30% of the speed you're getting on the ethernet (of the same device, right??), but you could try changing the channel width (not sure if it will do anything though)

yes, i'm getting roughly 1/4 of the ethernet speed on wifi. I heard 40 MHz bandwidth on 2.4G is not good and will cause interference, that's why I dind't set it. Also, I'll get a cable, I hope that will improve the speed.

Fundamentally, your hardware is really old. It should be retired on account of the firmware alone, but if you want better performance, you'll probably need to upgrade.

Yeah, I know. I thought I could use it as a wifi repeater, since I had no use for it anyways.

The maximum for 802.11n hardware is HT40, but in reality -on a 2.4-GHz-only device- 40 MHz is rarely possible (unless you're quite literally living in the sticks, with no neighbours within 500+ m).

Once you remove all the fancy features (which rarely work on early 802.11n hardware), it doesn't work that much better than its 802.11g predecessor (and, as mentioned by psherman, repeater effect does cause your throughput to halve on top of that) - and you have many bottlenecks on this particular hardware, which deserves a trip to nice farm up north.