What's new

CakeQOS CakeQOS-Merlin

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

and spdmerlin results are affected by cake. so it would need to disable cake during test, possibly degrading service quality while speed test is performed.
but sure would be nice to have an automated way of estimating line bandwidth changes during the day and automatically adjust cake limits.
the autorate-ingress was too erratic unfortunately
Yeah, that wouldn't work. With every test you would lower the connection speed until it's down to 0. :)
 
So I'm slightly confused on how I should set my DL/UL limits on cake. My advertised speed is 100/10, but I consistently see 117/11 when I run spdMerlin (only overnight as to not saturate the network during the day at all). Should I set to 90% of 117/11 or to 90% of 100/10? Or 95%? I know it's a test and what works best, but looking for the most realistic starting point. Thanks!

I would base it off of what actual speeds you get :) (117/11) And personally I don't go 100% of the speeds, I do 95% (Cable). Use https://www.dslreports.com/speedtest for bufferbloat testing.

I'd recommend going 95% first, doing some tests, and then seeing if dropping it down to 90% improves bufferbloat score. If your bufferbloat score is good but quality isn't good, try bumping up the %.
 
Last edited:
Yeah, that wouldn't work. With every test you would lower the connection speed until it's down to 0. :)

zero? that would mean no latency problems! ;-)
 
I'm throwing together a rough menu for this script. Am I correct that "start" accepts a queue choice (e.g. diffserv) and then "all other options" as a single parameter?

Correct :) So it would look like "diffserv4 docsis ack-filter"
 
The user also needs to specify up and down speeds, correct?
I'm thinking start would be along the lines of:
user chooses start
prompt to enter down speed
prompt to enter up speed
prompt to choose queue priority - offer default of besteffort
prompt for any other parameters

Looks good to me! Just tagging @ttgapers and @maghuro as well :)
 
Are decimals accepted for the speeds, or integers only? If the latter I assume offering to enter in Mbit or Kbit would be sensible?
Decimals are accepted. If you enter 28.5Mbit, cake automatically converts it transparently to 28500Kbit.
 
This works really well now. It has improved my video experience like nothing else. Good work people!
 
Version 0.1.0 released, thanks to one of the masters @Adamm

Hopefully it will solve some of the update problems.

Please do update and start again:

and


In the meanwhile, @Jack Yaz is cooking something great :)
Updated smoothly using "cake-qos update"

It would be great to be able to call "cake-qos start" and others without needing to add speed and other parameters each time, but I guess it's more of an inconvenience during development with these updates arriving thick and fast.

:)
 
I just installed 0.1.0 after uninstalling 0.0.3 and reboot after that. Everything is working o.k. although I must give the full path to cake-qos in the terminal, it isn't in /opt/bin.
Code:
admin@AC86U:/tmp/home/root# cake-qos
-sh: cake-qos: not found
 
0.1.0
when i change up/dn limits with start or install, my nat-start is not updated
 
@jackiechun @ttgapers @Adamm @maghuro @Jack Yaz Can we have a file that contains params as a default and when cake-qos start gets run it looks in for example /jffs/scripts/cake-param/qos-param.txt

so, it means we don't always have to add download\upload and param everytime prior to cake-qos start?
 
I just installed 0.1.0 after uninstalling 0.0.3 and reboot after that. Everything is working o.k. although I must give the full path to cake-qos in the terminal, it isn't in /opt/bin.
Code:
admin@AC86U:/tmp/home/root# cake-qos
-sh: cake-qos: not found

As you can see I had to use /jffs/scripts/cake-qos

Code:
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos
CakeQOS-Merlin - v0.1.0: Usage: cake-qos {install|update|start|status|stop|uninstall} (start has required parameters)

CakeQOS-Merlin - v0.1.0: install:   only downloads and installs necessary cake-qos binaries
CakeQOS-Merlin - v0.1.0: update:    update cake-qos binaries (if any available)
CakeQOS-Merlin - v0.1.0: start:     configure and start cake-qos
CakeQOS-Merlin - v0.1.0: status:    check the current status of cake-qos
CakeQOS-Merlin - v0.1.0: stop:      stop cake-qos
CakeQOS-Merlin - v0.1.0: uninstall: stop cake-qos, remove from startup, and remove cake binaries
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos update
CakeQOS-Merlin - v0.1.0: Your cake binaries are up-to-date.
(23) Failed writing body
CakeQOS-Merlin - v0.1.0: You are running the latest CakeQOS-Merlin script (v0.1.0, currently running v0.1.0), skipping...
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos status
CakeQOS-Merlin - v0.1.0: Running...
CakeQOS-Merlin - v0.1.0: > Download Status:
qdisc cake 8002: dev ifb9eth0 root refcnt 2 bandwidth 100Mbit besteffort triple-isolate nat wash ingress ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
CakeQOS-Merlin - v0.1.0: > Upload Status:
qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 10Mbit besteffort triple-isolate nat nowash ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
admin@RT-AX88U-E960:/tmp/home/root#
 
As you can see I had to use /jffs/scripts/cake-qos

Code:
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos
CakeQOS-Merlin - v0.1.0: Usage: cake-qos {install|update|start|status|stop|uninstall} (start has required parameters)

CakeQOS-Merlin - v0.1.0: install:   only downloads and installs necessary cake-qos binaries
CakeQOS-Merlin - v0.1.0: update:    update cake-qos binaries (if any available)
CakeQOS-Merlin - v0.1.0: start:     configure and start cake-qos
CakeQOS-Merlin - v0.1.0: status:    check the current status of cake-qos
CakeQOS-Merlin - v0.1.0: stop:      stop cake-qos
CakeQOS-Merlin - v0.1.0: uninstall: stop cake-qos, remove from startup, and remove cake binaries
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos update
CakeQOS-Merlin - v0.1.0: Your cake binaries are up-to-date.
(23) Failed writing body
CakeQOS-Merlin - v0.1.0: You are running the latest CakeQOS-Merlin script (v0.1.0, currently running v0.1.0), skipping...
admin@RT-AX88U-E960:/tmp/home/root# /jffs/scripts/cake-qos status
CakeQOS-Merlin - v0.1.0: Running...
CakeQOS-Merlin - v0.1.0: > Download Status:
qdisc cake 8002: dev ifb9eth0 root refcnt 2 bandwidth 100Mbit besteffort triple-isolate nat wash ingress ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
CakeQOS-Merlin - v0.1.0: > Upload Status:
qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 10Mbit besteffort triple-isolate nat nowash ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
admin@RT-AX88U-E960:/tmp/home/root#
I believe a reboot will fix it.
 
Correct :) So it would look like "diffserv4 docsis ack-filter"

This might be the optimal setting. Gonna configure it now as the dust has settled in the real job!

See how stable this stays..vs besteffort which has been rock solid

Code:
qdisc cake 8008: root refcnt 2 bandwidth 145Mbit diffserv4 triple-isolate nat wash ingress ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
 Sent 1992225 bytes 4626 pkt (dropped 0, overlimits 776 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 28Kb of 7250000b
 capacity estimate: 145Mbit
 min/max network layer size:           46 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh       9062Kbit      145Mbit    72500Kbit    36250Kbit
  target          5.0ms        5.0ms        5.0ms        5.0ms
  interval      100.0ms      100.0ms      100.0ms      100.0ms
  pk_delay          0us        7.0ms          0us         77us
  av_delay          0us        448us          0us          2us
  sp_delay          0us          8us          0us          0us
  backlog            0b           0b           0b           0b
  pkts                0         1820            0         2806
  bytes               0      1823865            0       168360
  way_inds            0            0            0            0
  way_miss            0           78            0            1
  way_cols            0            0            0            0
  marks               0            0            0            0
  drops               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            8            0            1
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0         1514            0           60
  quantum           300         1514         1514         1106

eth0
Code:
qdisc cake 8007: root refcnt 2 bandwidth 14Mbit diffserv4 triple-isolate nat nowash ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64 no-sce
 Sent 768928 bytes 4355 pkt (dropped 385, overlimits 1674 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 17344b of 4Mb
 capacity estimate: 14Mbit
 min/max network layer size:           28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh        875Kbit       14Mbit        7Mbit     3500Kbit
  target         20.8ms        5.0ms        5.0ms        5.2ms
  interval      115.8ms      100.0ms      100.0ms      100.2ms
  pk_delay          0us       13.3ms          0us          0us
  av_delay          0us        820us          0us          0us
  sp_delay          0us          3us          0us          0us
  backlog            0b           0b           0b           0b
  pkts                0         4740            0            1
  bytes               0       802150            0           42
  way_inds            0            0            0            0
  way_miss            0          143            0            1
  way_cols            0            0            0            0
  marks               0            0            0            0
  drops               0            2            0            0
  ack_drop            0          383            0            0
  sp_flows            0            0            0            1
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0         1514            0           42
  quantum           300          427          300          300

qdisc ingress ffff: parent ffff:fff1 ----------------
 Sent 7364043 bytes 16607 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 

Sign Up For SNBForums Daily Digest

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