TP-Link EAP245-v3 stuck at 40Mhz on 5g

I bought two of these units to replace my unsupported Ruckus gear and was bummed to run into this.

Switching to the non-ct driver allows me to transmit at 80mhz and give me comparable speeds to the AC1750 ruckus gear. This is a 2-3x improvement over the default ct driver in my testing.

I'll add this here since I had to dig deeper to find it. Works on 22.03-rc5

opkg update
opkg remove kmod-ath10k-ct ath10k-firmware-qca988x-ct
opkg install kmod-ath10k ath10k-firmware-qca988x
reboot
1 Like

Hello and thank you very much for providing this very important and valuable information.
I don't know if it's coincidence or not, but I was talking about this (lack of 5Ghz performance on EAP245 v3, using OpenWRT), yesterday in another topic:

What kind of download throughput are you able to get with this driver change?
With the stock firmware this device (EAP245 v3) is able to reach ~900 Mbps download.
As I said in the other thread, maximum throughput is important to me, but if I was able to get about 80-90% of the stock firmware speed, I would switch to OpenWRT, so your finding may be the key for me to switch to OpenWRT :grinning:
Again, thank you very much.

If this is a solution maybe this should be changed in the source code.

I really, really hope this is the solution to this problem.
This maybe the key for me (and I hope others) to switch to OpenWRT :smiley:

https://forum.openwrt.org/t/why-the-switch-to-unstable-ath10k-ct/27258?u=flygarn12
Little background information.

Thank you very much for the link.
I will dig a little bit myself about this stuff.
Meanwhile, I will patiently wait for @adamcstephens reply about the performance results.

I'm not sure what these can do on stock firmware. I received them and installed openwrt immediately. My iperf3 connections on the ct driver were ~100Mbps which I found unacceptable. The non-ct driver is good enough for my needs, but perhaps isn't getting everything out of the hardware. I have wired gigabit when I really need speed and my internet is only 400/40.

connection to Linux thinkpad:

freq: 5260 MHz, ctr1: 5290 MHz, channel: 52 (width: 80 MHz), bands: 2                          │
│beacons: 6931, lost: 5, avg sig: -44 dBm, interval: 0.1s, DTIM: 2                              │
│rx rate: 520.0 MBit/s VHT-MCS 5 80MHz short GI VHT-NSS 2                                       │
│tx rate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2                                       │
│tx power: 21 dBm (125.89 mW), power save: on                             

AP transmit test on my Linux thinkpad:

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  40.9 MBytes   343 Mbits/sec    0   1.51 MBytes       
[  5]   1.00-2.00   sec  38.8 MBytes   325 Mbits/sec    0   1.51 MBytes       
[  5]   2.00-3.00   sec  33.8 MBytes   283 Mbits/sec  467    557 KBytes       
[  5]   3.00-4.00   sec  40.0 MBytes   336 Mbits/sec    0    604 KBytes       
[  5]   4.00-5.00   sec  38.8 MBytes   325 Mbits/sec    0    650 KBytes       
[  5]   5.00-6.00   sec  31.2 MBytes   262 Mbits/sec    0    686 KBytes       
[  5]   6.00-7.00   sec  30.0 MBytes   252 Mbits/sec    2    533 KBytes       
[  5]   7.00-8.00   sec  28.8 MBytes   241 Mbits/sec    0    597 KBytes       
[  5]   8.00-9.00   sec  25.0 MBytes   210 Mbits/sec    0    643 KBytes       
[  5]   9.00-10.00  sec  32.5 MBytes   273 Mbits/sec    0    675 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   340 MBytes   285 Mbits/sec  469             sender
[  5]   0.00-10.01  sec   336 MBytes   282 Mbits/sec                  receiver

AP transmit test on my M1 macbook:

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.2 MBytes  86.0 Mbits/sec  109    370 KBytes       
[  5]   1.00-2.00   sec  26.2 MBytes   220 Mbits/sec    0    421 KBytes       
[  5]   2.00-3.00   sec  31.2 MBytes   262 Mbits/sec   12    170 KBytes       
[  5]   3.00-4.00   sec  22.5 MBytes   189 Mbits/sec    3    171 KBytes       
[  5]   4.00-5.00   sec  22.5 MBytes   189 Mbits/sec   11    221 KBytes       
[  5]   5.00-6.00   sec  20.0 MBytes   168 Mbits/sec   18    158 KBytes       
[  5]   6.00-7.00   sec  16.2 MBytes   136 Mbits/sec    4    133 KBytes       
[  5]   7.00-8.00   sec  22.5 MBytes   189 Mbits/sec    2    167 KBytes       
[  5]   8.00-9.00   sec  20.0 MBytes   168 Mbits/sec    4    156 KBytes       
[  5]   9.00-10.00  sec  15.0 MBytes   126 Mbits/sec   12    181 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   206 MBytes   173 Mbits/sec  175             sender
[  5]   0.00-10.01  sec   203 MBytes   170 Mbits/sec                  receiver

(edits: add mac, replace with correct data)

1 Like

Thank you very much for doing this.

The performance jump with non-CT driver is significant (the ct driver throughput is ridiculous - 2.4Ghz tier performance / You probably got better results with 2.4Ghz directly), but, from your results, the throughput seems to take a hit compared to the stock firmware.

Just to be clear (and I'm sorry if it sounds stupid): the iperf3 tests where done between 2 local machines? Or were done between a local and a remote machine?
I'm asking this, because your thinkpad result seems relatively close to your internet limit (400/40), which could explain the performance hit.
The mac m1 result is a bit strange (just to be clear, I don't have any apple devices), because I had the idea that apple devices had top notch wireless capabilities (at least the iphones) and theres a 100 Mbps difference compared with the thinkpad. :smile:

I know that speedtest is considered unreliable compared to iperf3, but have you done some tests to compare?

On a side note: I noticed that the device seems to be on power saving mode (│tx power: 21 dBm (125.89 mW), power save: on). Do this have any influence in the throughput?

Again, thank you very much for providing all this information. I'm sure it will be very useful to many people.

Yeah, all tests are done from the local network. I was a bit surprised myself that the M1 was slower.

For another comparison I just ran a fast.com test on my iPad and pulled 230Mbps, which is close to half of the speed of the Ruckus APs (R600) that is clearly maxing the Internet connection.

I haven't tried changing power save, but the reverse numbers (client transmit) are even higher so I'd not expect this to change much on the AP transmit path. Even this non-ct driver is clearly losing some of the potential of these devices.

Sadly I'd based my expectations on these devices on my eap225 outdoor which performs pretty well. Oh well, still planning to move forward with the eap245's and hope that performance can be improved.

1 Like

It's really unfortunate this subpar 5Ghz performance on OpenWRT and I really hoped that the driver change could, at least, come close (80-90%) to the stock performance.

I really hope this driver issue gets fixed in the near future, so I can safely change to OpenWRT. I wish I had the knowledge to help...

As I said before, the stock firmware is decent and does everything I need, the only thing that concerns me is the security aspect of the device (lack of WPA3 and future firmware fixes).

If you find some relevant information, I would be grateful if you could ping me. I will do the same if I find something relevant.

As a side note, I wish Ruckus was more open with their firmware and that it wasn't so outrageously expensive where I am (even used). It would be the ultimate AP (It kind of is, if you have the money and don't mind to replace it as soon as the company abandons the device).

Thank you very much taking your time to answer my questions and enjoy your new toys :smile:

I realized the module/firmware I swapped above was incorrect, so anybody looking at this later should ignore it. (I can't edit it any longer)

That said, I ended up returning the EAP245 v3 and purchasing Unifi 6 Lite devices instead. They're a bit pricier, even at the open box price, but are significantly faster. They're actually an upgrade over my previous Ruckus devices.

I bought the EAP245 v3 a while ago specifically because it was supported by OpenWRT.
Before flashing it I found this thread and still decided to give it a go and see if I ran into the same problems.

Did some tests before flashing to get a baseline wifi speed with stock firmware.

On stock: I'm getting 450 Mbps up/down on 5GHZ wifi (almost maxing out ISP speed)
With OpenWRT: 450 up 125 down (OpenWrt 21.02.0 r16279-5cc0535800)

So quite the drop in RX performance and making it not unusable for my use case.

I noticed the discussions about it possibly being related to the CT firmware so I went down that rabbit hole. After some failed attempts I think I managed to install the non CT firmware as follows:

opkg update
opkg install ath10k-firmware-qca99x0 --force-overwrite
opkg install kmod-ath10k --force-overwrite
opkg remove ath10k-firmware-qca99x0-ct kmod-ath10k-ct

On my first attempts I did it in a different order (first opkg remove and then opkg install) but that gave me the following error on the opkg install command (i'm pretty sure I had already done opkg update prior to that)

Unknown package 'ath10k-firmware-qca99x0'.
Unknown package 'kmod-ath10k'.
Collected errors:
 * opkg_install_cmd: Cannot install package ath10k-firmware-qca99x0.
 * opkg_install_cmd: Cannot install package kmod-ath10k.

I wasn't able to recover from this one.. It could be unrelated to this, but for some reason I no longer had any connectivity on the device itself (ping to 8.8.8.8 timed out, packes unable to update etc. Somehow I was still connected to the internet from the outgoing eth port, not sure what was going on here).

Afterwards I reinstalled OpenWRT using the sysupgrade image and doing a factory reset I managed to get back up and running. I did the steps above (the first list of commands I mentioned). Added the --force-overwrite after getting the following error:

check_data_file_clashes: Package ath10k-firmware-qca99x0 wants to install file /lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin

After this, I THINK I have the non CT firmware up and working. Since I'm new at this, I'm not 100% sure so correct me if I'm wrong.

root@OpenWrt:~# opkg list-installed | grep ath10
ath10k-board-qca99x0 - 20201118-3
ath10k-firmware-qca99x0 - 20211216-1
kmod-ath10k - 5.4.143+5.10.42-1-1

Sadly, I still get the same results when doing a speedtest on the 5Ghz wifi.
I really hope this can be fixed because it's a perfect device, but I'd really like to get rid of the stock firmware.

I have tried the eap225v4 now and there the driver seems to work with 5GHz bw above 20MHz.

But the problem persists that full wifi connection is established and no or sporadic data transfer is on both 245v3 and 225v4.

But this problem wasn’t there on the 245v3 from the original intallation I did beginning in the winter, then it was fast like a flying rabbit! This problem started exactly when I upgraded the eap245 in the beginning of the summer and then the drivers had been updated and after that the 5GHz wifi is really buggy.

So if I understand you correctly you previously ran OpenWRT on the EAP245v3 with good 5Ghz speeds? You don't by any chance remember which version that was? :stuck_out_tongue:

Yes it did work very well with the image I used during the winter!
I never tested it with any high speeds but bw selection worked, wpa3 worked and it wasn’t a single glitch i the surfing.
I have to get back on what build it was.

The first anomaly I got after the spring upgrade was directly after power on and configuration was done the the ubuntu laptop refused to connect to the wifi while the iOS devices worked? By chance after trial and error I changed from 40 to 20MHz and then also the laptop started working and after that the problem with the 5GHz wifi is connected everywhere but the actual data streams stops sporadically on all devices.

My plan now is to simply roll back my 245 to the “winter” image as soon I got the time to do it and see if it starts working “as before” again?

Since I was also pulling my hair out getting the VLANs to work I've reverted back to stock firmware for now. A bit disappointing to see that OpenWRT is not really working well on the device and there is not a lot of incentive to fix it. Probably should come with a warning on the device page to notify users it will cut their 5Ghz speeds drastically.

@svanheule, I had a look at the EAP225v3 but it only has a 100Mbps ETH port, so I guess that one isn't really an option for me either :confused:

Personally I have had a continuous bad luck with issues that always getting tracked to driver issues.

First wifi on wrt3200acm…

And then the memory leak on ER4, that fault was actually fixed by chance but it was in the last second before the device was supposed to be cut out of the OpenWrt family.

And now we are in the 5GHz wifi driver again, only a different driver name this time.

I was actually visiting the 245 device wiki today to look at the instruction to install the original firmware.
But then I remembered I think I have the old image saved…

Where did you get that info? EAP225v3 has a 1Gb/s port. https://github.com/openwrt/openwrt/commit/b0ecae504b58bf65627138fe14eb605ad77224c9

The EAP225-Wall has only 100Mb/s ports. VLANs also work without issue on my EAP245v3, so I don't think that should be a problem.

The only problem I have experienced on both 245v3 and 225v4 seems to be very isolated to 5GHz radio behavior.
But the vlan communication seems to be stable as far as I can tell. To be honest I can’t remember any real problem with wired communication on any OpenWrt device I have.

You are correct, I missed the "wall" in the comparison page I used to compare the two :sweat_smile:
I should've probably also mentioned that I meant the 'extra' outbound port, not the incoming eth. I currently use that one to hook up to another wired device in the room. With the EAP225 I'd have to get another switch for the wired device is what I was meaning to say.

The VLAN thing is probably all due to my own fumbling. With the official EAP software I had 2 VLANS coming into the EAP: 1 tagged and 1 untagged. The untagged one is automagically used on the outbound ETH port, the tagged one I use on the WIFI networks.

I started off with the same untagged/tagged on OpenWRT (I acutally completely missed this at first). With this setup the untagged VLAN was working, outbound Eth was fine and wifi using that network was fine. Under switches I added the extra VLAN and had both tagged on CPU (this is probably where I went wrong), also created a new interface for it which uses the new switch, and after modifying the wireless to use the new network I could no longer connect (I had ip, gateway and dns set on the new interface to the new VLAN IP range).

Since I was running into the speed issue I decided not to waste too much time trying to get it work as I would have to flash back to stock anyway. First thing the stock firmware asked me was to agree to their terms of service / privacy policy.. Almost went back to OpenWRT again after seeing that :stuck_out_tongue:

If there's anything we can do to help get this resolved please let us know. I'm sure there is lots of people using these cheaper devices and are just waiting to make the switch.