CakeQOS Weird Wifi Slow downs

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

zackattack784

Regular Contributor
I have a really odd one here that I just started noticing recently. My connection is 250/15 and with QOS turned off I consistently hit 290/17 hence the 260/15 QOS settings. I usually pull 250/15 easily with cake on but recently I've noticed on Wifi I'll hit a 160/10 with little to no fluctuation in speed during the test. This happens at random with different devices (iphone 12 pro, iphone x, ipad pro first gen, ipad pro latest gen). Even as I type this I just hit 250 down on my laptop but only 160 on my phone. A few minutes later I'll run the test again on my iphone and hit 250 like normal.

As soon as I turn off QOS all my devices will go back to hitting 290 down and I don't observe this behavior at all. For example, my phone that just hit 160 with Cake on. I turned cake off and I just hit 300 from the same spot (6 feet from the router). It doesn't make any sense but it seems like it has something to do with wifi and QOS not playing nice together. Anybody else see this behavior or have any suggestions?

Setup is:
RT-AX88U running Merlin 386.2_6 and CakeQOS 2.0
RT-AX58U setup as an AP
1624576317016.png
 

dave14305

Part of the Furniture
Cake is all about host fairness when configured as such. If something else on your network is also highly active when you’re running your test, your phone’s bandwidth may be limited in the name of host fairness. No idea if that’s what’s happening to you, but Cake has a lot of layers to it.
 

zackattack784

Regular Contributor
Cake is all about host fairness when configured as such. If something else on your network is also highly active when you’re running your test, your phone’s bandwidth may be limited in the name of host fairness. No idea if that’s what’s happening to you, but Cake has a lot of layers to it.
Unfortunately that's not it. I'm the only one home and even checked my router to make sure nothing else was using bandwidth. And it's just too coincidental it's ALWAYS in the 160-170 range when it's acting up.

Edit: I just did a full reset on my AX88U and everything is speed testing as expected with cake so let's see what happens.
 
Last edited:

heysoundude

Very Senior Member
If I were to venture a guess, cake likely has little to do with it: I'd bet your router's radios are set to Auto - when you run into problems you're fighting for <ahem> aggressively trying to share airspace with someone else near you.
fire up Wifi Radar and see what it has to say when you're experiencing problems, and then check/adjust your wireless config.
You want most of your neighbours to be at least -60dB compared to you, with -80 or -90 being theoretically marvellous and wonderful and as close to perfect in the real world as you can get. it's easier on 5GHz, but also possible on 2.4, although you should get off that mucky band as soon as you can.

wifi issues are going to become much more common as people add more devices that use it, so best to stake your claim on the available spectrum in your neighbourhood sooner rather than later. this is why simple mesh networking is such a big deal: you can turn down the radios to confine your wifi bubble to your usage area as a courtesy (good fences make good neighbours, right?) - place another node for more/better coverage, rearrange the nodes. migrating to 5GHz makes it easier (for the same reasons as using IPv6 is finally taking off), and Cat5e cable to mission critical devices helps clear the airwaves up too.

#ThisIsTheWay
 

zackattack784

Regular Contributor
If I were to venture a guess, cake likely has little to do with it: I'd bet your router's radios are set to Auto - when you run into problems you're fighting for <ahem> aggressively trying to share airspace with someone else near you.
fire up Wifi Radar and see what it has to say when you're experiencing problems, and then check/adjust your wireless config.
You want most of your neighbours to be at least -60dB compared to you, with -80 or -90 being theoretically marvellous and wonderful and as close to perfect in the real world as you can get. it's easier on 5GHz, but also possible on 2.4.

wifi issues are going to become much more common as people add more devices that use it, so best to stake your claim on the available spectrum in your neighbourhood sooner rather than later. this is why simple mesh networking is such a big deal: you can turn down the radios to confine your signal to your usage area as a courtesy - place another node for more/better coverage, rearrange the nodes. migrating to 5GHz makes it easier (for the same reasons as using IPv6 is finally taking off), and Cat5e cable to mission critical devices helps clear the airwaves up too.
I originally thought the same so I made sure to force 80mhz channels and used winfi to choose unused channels. My AP and Router are on different non overlapping channels (when the slowdowns happen it doesn’t matter if I’m connected to router or AP either). There’s very little interference (and my aluminum siding helps keep neighboring signals from reaching inside). But what convinced me it’s not a Wi-Fi issue is the fact I can run a speed test, hit 160, turn off qos, hit 290, turn qos back on and hit 160 again all within a matter of minutes. Speeds over Ethernet are always full speed with or without cake on (which would point to maybe not being a qos issue?). It truly is bizarre.

I did a full reset last night and afterwards speeds were normal again with cake on (about 250). This morning I was also hitting 250 so fingers crossed maybe that was it. I’ll check again when I get home this evening.

I’m not as smart as the likes of Dave and Merlin but I’m not technologically challenged either. I tried to rule out the obvious like maybe it’s an iOS device, nope laptop does it too. Maybe it’s 802.11ax? Nope 802.11ac devices do it too. Maybe it’s falling back to 40mhz channel width? Winfi confirmed 80mhz and I set it to 80mhz just to be sure. Nope not it. Maybe it’s just my router or AP? Nope does it when connected to either one. The fact wired traffic isn’t impacted kind of points to it not being cake but every time it happens I can fix it by turning cake off. Like I said, very bizarre. I’ll let everyone know if the reset really is the fix. Here’s hoping it was a super weird gremlin that was fixed by the full reset!
 

zackattack784

Regular Contributor
Came home from work and problem is still there. As you can see in the photos. 158 with cake on. 313 with it off. Upload always gets nerfed with cake as well.
 

Attachments

  • 9B602FD0-9BA2-4018-AD3A-40530BC0326E.jpeg
    9B602FD0-9BA2-4018-AD3A-40530BC0326E.jpeg
    50.9 KB · Views: 7
  • 7A8E72E6-6493-430D-BB67-0FF0524B4D22.jpeg
    7A8E72E6-6493-430D-BB67-0FF0524B4D22.jpeg
    46.1 KB · Views: 6

dave14305

Part of the Furniture
Came home from work and problem is still there. As you can see in the photos. 158 with cake on. 313 with it off. Upload always gets nerfed with cake as well.
Capture cake stats before and after the speedtest.
Code:
tc -s qdisc
 

zackattack784

Regular Contributor
Capture cake stats before and after the speedtest.
Code:
tc -s qdisc
Code:
qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 15360Kbit diffserv3 dual-srcho                                                                                                                                   st nat nowash ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
 Sent 297922564 bytes 1234576 pkt (dropped 36455, overlimits 922342 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 310400b of 4Mb
 capacity estimate: 15360Kbit
 min/max network layer size:           28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                   Bulk  Best Effort        Voice
  thresh        960Kbit    15360Kbit     3840Kbit
  target         18.9ms          5ms          5ms
  interval        114ms        100ms        100ms
  pk_delay          0us       2.34ms       1.62ms
  av_delay          0us        375us        240us
  sp_delay          0us          4us          4us
  backlog            0b           0b           0b
  pkts                0      1270714          317
  bytes               0    300432133        48724
  way_inds            0         1879            0
  way_miss            0         9401           43
  way_cols            0            0            0
  drops               0          334            0
  marks               0            1            0
  ack_drop            0        36121            0
  sp_flows            0            3            0
  bk_flows            0            1            0
  un_flows            0            0            0
  max_len             0         1514          419
  quantum           300          468          300

qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
 Sent 3602985740 bytes 2586970 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 2639614887 bytes 1867412 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0                                                                                                                                    0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0                                                                                                                                    0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 8190046 bytes 24991 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1                                                                                                                                    1 1 1 1 1
 Sent 1024572044 bytes 743989 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc cake 8002: dev ifb4eth0 root refcnt 2 bandwidth 266240Kbit besteffort dual                                                                                                                                   -dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mp                                                                                                                                   u 64
 Sent 3638805505 bytes 2586704 pkt (dropped 264, overlimits 2399385 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 3044032b of 13000Kb
 capacity estimate: 266240Kbit
 min/max network layer size:           46 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                  Tin 0
  thresh     266240Kbit
  target            5ms
  interval        100ms
  pk_delay       1.07ms
  av_delay        188us
  sp_delay          0us
  backlog            0b
  pkts          2586968
  bytes      3639203048
  way_inds        31891
  way_miss         9587
  way_cols            0
  drops             264
  marks               0
  ack_drop            0
  sp_flows            2
  bk_flows            1
  un_flows            0
  max_len          1514
  quantum          1514
 

zackattack784

Regular Contributor
Code:
qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 15360Kbit diffserv3 dual-srchost nat nowash ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
 Sent 312932478 bytes 1282470 pkt (dropped 40185, overlimits 974441 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 310400b of 4Mb
 capacity estimate: 15360Kbit
 min/max network layer size:           28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                   Bulk  Best Effort        Voice
  thresh        960Kbit    15360Kbit     3840Kbit
  target         18.9ms          5ms          5ms
  interval        114ms        100ms        100ms
  pk_delay          0us         16ms       1.44ms
  av_delay          0us       6.13ms        627us
  sp_delay          0us          2us         47us
  backlog            0b           0b           0b
  pkts                0      1321783          872
  bytes               0    315806546       128137
  way_inds            0         4771            0
  way_miss            0         9639           50
  way_cols            0            0            0
  drops               0          467            0
  marks               0            1            0
  ack_drop            0        39718            0
  sp_flows            0            2            0
  bk_flows            0            1            0
  un_flows            0            0            0
  max_len             0         1514          419
  quantum           300          468          300

qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
 Sent 3791198274 bytes 2723061 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 2640355796 bytes 1870070 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 8598839 bytes 26501 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 1214352168 bytes 878235 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc cake 8002: dev ifb4eth0 root refcnt 2 bandwidth 266240Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
 Sent 3828838749 bytes 2722739 pkt (dropped 320, overlimits 2526184 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 3044032b of 13000Kb
 capacity estimate: 266240Kbit
 min/max network layer size:           46 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                  Tin 0
  thresh     266240Kbit
  target            5ms
  interval        100ms
  pk_delay        528us
  av_delay         25us
  sp_delay          0us
  backlog            0b
  pkts          2723059
  bytes      3829320856
  way_inds        31891
  way_miss         9853
  way_cols            0
  drops             320
  marks               0
  ack_drop            0
  sp_flows            3
  bk_flows            1
  un_flows            0
  max_len          1514
  quantum          1514
 

dave14305

Part of the Furniture
Any difference if you disable the ack-filter on upload?
 

dave14305

Part of the Furniture
While cake is still enabled, run this command and then do a speedtest. This will stop cake without re-enabling any HW acceleration.
Code:
/tmp/qos stop
You can put cake back with the start parameter. If it’s cake’s fault, you should get the 260. If it’s HW acceleration’s fault you should get 160. Maybe.
 

zackattack784

Regular Contributor
While cake is still enabled, run this command and then do a speedtest. This will stop cake without re-enabling any HW acceleration.
Code:
/tmp/qos stop
You can put cake back with the start parameter. If it’s cake’s fault, you should get the 260. If it’s HW acceleration’s fault you should get 160. Maybe.
I did a speedtest before running qos-stop (just to make sure I was getting the 160 since sometimes I get full speed). I got 160. Ran qos-stop and got 268. Turned cake back on and back to 160.
 

dave14305

Part of the Furniture
I did a speedtest before running qos-stop (just to make sure I was getting the 160 since sometimes I get full speed). I got 160. Ran qos-stop and got 268. Turned cake back on and back to 160.
Conventional Cake wisdom says to monitor your router CPU %idle with top -d 1 while the speedtest runs. Make note of how low the idle gets. It would seem unlikely to be hitting a CPU bottleneck on an AX88U at those modest speeds.

So on the AX86U, are eth6 and eth7 the wireless interfaces?
Code:
nvram get wl_ifnames
Anything unusual in your LAN bridge?
Code:
brctl show
I’m mostly out of ideas grasping at straws, happy I bought an AC86U.
 

zackattack784

Regular Contributor
Conventional Cake wisdom says to monitor your router CPU %idle with top -d 1 while the speedtest runs. Make note of how low the idle gets. It would seem unlikely to be hitting a CPU bottleneck on an AX88U at those modest speeds.

So on the AX86U, are eth6 and eth7 the wireless interfaces?
Code:
nvram get wl_ifnames
Anything unusual in your LAN bridge?
Code:
brctl show
I’m mostly out of ideas grasping at straws, happy I bought an AC86U.
82% Idle was the lowest it got.
nvram get wl_ifnames eth6 eth7

Code:
bridge name     bridge id               STP enabled     interfaces
br0             8000.04d4c4516750       yes             eth1
                                                        eth2
                                                        eth3
                                                        eth4
                                                        eth5
                                                        eth6
                                                        eth7

I appreciate the help Dave. I kind of figured this was a weird one and the fact no one else seems to be having this issue tells me I might want to buy a powerball ticket tonight.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top