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!

By default CAKE uses a 3 tin classification mode called 'diffserv3'. This does not factor in the video class properly.
Interesting. The man page says diffserv3 is the default, which is what I was going off, but the cake home site says diffserv4 is. I wonder which is more recent/correct?

Also interesting, that on the website they say that the tin classification is generally wrong, so besteffort is usually recommended, yet that is not the default option. Guess it is still somewhat early days for them too despite this being in the works for so long.

I'll try switching up to diffserv4 myself and see if anything bad happens. My Internet is slow enough that the extra tins aren't likely to cause any resource problems :).
 
yes, but as the old raw version is in cache, it'll get the old md5, making it to believe there is an update...

Nothing big to do, github's problems :( Have to deal with it - at least the cache is only of a couple of minutes...
It's not a problem, it's how cdn caches work. It also depends on how often you personally try to access content - what you see on raw could be older than what a new visitor sees
 
Also apparently lighter on CPU usage (as it's just 1 "tin" vs 3, 4 or 8), but I'd be interested in seeing test comparisons between them.

Someone posted a link earlier in this thread to a site which linked to the following PDF.
https://arxiv.org/pdf/1804.07617.pdf

cake.png
 
Apologies for bumping my own post, but I think it got lost at the end of page 12 during a flurry of other update activity.
https://www.snbforums.com/threads/release-cakeqos-merlin.64800/page-12#post-596028

In short, can cake handle enabling itself on upload without applying itself on the download queue. Handy to have for people whose download rates exceed 300Mbs, but still want upload queue management.

Suggest that the script interprets a 0Mbps rate as "disable cake on that queue".

I also asked whether it would be possible to have Cake operate only on the outbound connection. Hopefully you'll get some traction here.
 
New release v0.0.6
- Implemented watchdog (it'll be installed automatically when starting script)
- No need anymore to do install nor enable. When doing cake-qos start XXMBit XXMBit "param" the script will auto do the necessary things
- Readme updated with new instructions
- Bugfixes

Just remember that this is a WIP, so it MAY have bugs. Please test it and report it on github issues page. Thanks
Working great :)
 
I also asked whether it would be possible to have Cake operate only on the outbound connection. Hopefully you'll get some traction here.
It might be as simple as something like this to test the concept:

Code:
#Clean up from previous settings
/opt/sbin/tc qdisc del dev eth0 ingress 2>/dev/null
/opt/sbin/tc qdisc del dev ifb9eth0 root 2>/dev/null
/opt/sbin/tc qdisc del dev eth0 root 2>/dev/null
ip link del ifb9eth0

rmmod sch_cake 2>/dev/null
fc enable
runner enable


#Set up new uplink-only settings
runner disable 2>/dev/null
fc disable 2>/dev/null
fc flush 2>/dev/null
insmod /opt/lib/modules/sch_cake.ko 2>/dev/null

#WAN-eth0
/opt/sbin/tc qdisc replace dev eth0 root cake bandwidth <bandwidth>mbit besteffort nat

I don't have the connection speed to really see what effect if any that will have though ;).
 
Hi, interesting stuff! I thought of giving the script a try but my AC2900 is considered incompatible... I will tinker the script but you might add this type as it is supposedly exactly the same as an RT-AC86U.
 
Received an error on update.

Code:
CakeQOS-Merlin - v0.0.5: Your cake binaries are up-to-date.
/jffs/scripts/cake-qos: line 352: syntax error: unexpected word (expecting ")")
admin@router:/tmp/home/root# /jffs/scripts/cake-qos update

Same for me just - I read this may be a Git cache error so wanted to let you know it's the same hours later
Code:
RT-AX88U-AA80:/jffs/scripts# cake-qos update
CakeQOS-Merlin - v0.0.5: New CakeQOS-Merlin detected (v0.0.6, currently running v0.0.5), updating...
CakeQOS-Merlin - v0.0.5: Your cake binaries are up-to-date.
/opt/bin/cake-qos: line 352: syntax error: unterminated quoted string

Fixed it with a manual install just wanted to let you know
 
Last edited:
It might be as simple as something like this to test the concept:

Code:
#Clean up from previous settings
/opt/sbin/tc qdisc del dev eth0 ingress 2>/dev/null
/opt/sbin/tc qdisc del dev ifb9eth0 root 2>/dev/null
/opt/sbin/tc qdisc del dev eth0 root 2>/dev/null
ip link del ifb9eth0

rmmod sch_cake 2>/dev/null
fc enable
runner enable


#Set up new uplink-only settings
runner disable 2>/dev/null
fc disable 2>/dev/null
fc flush 2>/dev/null
insmod /opt/lib/modules/sch_cake.ko 2>/dev/null

#WAN-eth0
/opt/sbin/tc qdisc replace dev eth0 root cake bandwidth <bandwidth>mbit besteffort nat

I don't have the connection speed to really see what effect if any that will have though ;).
you can probably simplify it without needing to cycle fc and runner, i would have thought?
 
you can probably simplify it without needing to cycle fc and runner, i would have thought?
Very likely. I just pasted a complete un-do, followed by a complete re-do "to be sure to be sure" :).

It's just for someone to run as a quick and dirty test.
If it seems to do the right thing, then we could encourage development of a feature to effectively switch off cake on upload or download if required.
 
Very likely. I just pasted a complete un-do, followed by a complete re-do "to be sure to be sure" :).

It's just for someone to run as a quick and dirty test.
If it seems to do the right thing, then we could encourage development of a feature to effectively switch off cake on upload or download if required.
I might be working on something like that ;-)

https://github.com/ttgapers/cakeqos-merlin/issues/24
 
It might be as simple as something like this to test the concept:

Code:
#Clean up from previous settings
/opt/sbin/tc qdisc del dev eth0 ingress 2>/dev/null
/opt/sbin/tc qdisc del dev ifb9eth0 root 2>/dev/null
/opt/sbin/tc qdisc del dev eth0 root 2>/dev/null
ip link del ifb9eth0

rmmod sch_cake 2>/dev/null
fc enable
runner enable


#Set up new uplink-only settings
runner disable 2>/dev/null
fc disable 2>/dev/null
fc flush 2>/dev/null
insmod /opt/lib/modules/sch_cake.ko 2>/dev/null

#WAN-eth0
/opt/sbin/tc qdisc replace dev eth0 root cake bandwidth <bandwidth>mbit besteffort nat

I don't have the connection speed to really see what effect if any that will have though ;).


@Wade Coxon appears to be working somewhat.

i run the script and after doing "tc qdisc" it shows cake installed on the UL only.

I get these numbers for DL speed:

no cake: 560Mbps
cake on UL only: 400Mbps
cake on DL/UL: 300Mbps

maybe because HW acceleration is off, even with cake only on the UL

this is on a AX88 with besteffort and suricata off.
still can't reach @L&LD 500Mbps cake results
 
Last edited:
Why am I seeing this in the syslog?
Code:
Jun 23 05:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:00:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
 
appears to be working somewhat.

i run the script and after doing "tc qdisc" it shows cake installed on the UL only.

I get these numbers for DL speed:

no cake: 560Mbps
cake on UL only: 400Mbps
cake on DL/UL: 300Mbps

HW acceleration is off even with cake only on the UL
Slight improvement there, but I guess it highlights the limits of CPU-only routing, even with limited processing.

The commands I posted do explicitly disable the hw acceleration, which I am guessing is required in order for cake to run at all. Don't know what would happen if it were left enabled. It works probably disable cake?

What was your upload bufferbloat with that asymmetrical configuration enabled btw?
 
Why am I seeing this in the syslog?
Code:
Jun 23 05:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:00:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...

it's the watchdog that will restart cake if needed
 
Slight improvement there, but I guess it highlights the limits of CPU-only routing, even with limited processing.

The commands I posted do explicitly disable the hw acceleration, which I am guessing is required in order for cake to run at all. Don't know what would happen if it were left enabled. It works probably disable cake?

What was your upload bufferbloat with that asymmetrical configuration enabled btw?

with the asymmetrical cake, bufferbloat was ok. latency remained on the 10ms range (unloaded value).

strangely, now i'm not seeing bufferbloat on a comcast connection at 6am, even with cake off! maybe some artifact of not having rebooted after disabling cake? weird!
normal behavior on my connection, is that my latency goes from 10ms to 1500ms during the UL speed tests (before cake)
i think i need coffee before more experiments
 
Last edited:
Why am I seeing this in the syslog?
Code:
Jun 23 05:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:00:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Jun 23 06:30:00 RT-AX88U-9D28 CakeQOS-Merlin: Checking if needing doctor...
Are you running the latest script?

The version I have uses a different message which puts up every half an hour. It checks to see if cake has disabled itself sure to unexpected events and should fix it if it has stopped. FreshJR did something similar, just less often.

However, now you've pointed out out, I don't think it needs to be logged above "info" level. I have my log visibility set to "notice" and this message is a bit noisy.
 
Hi,

I just updated to 0.0.6 and looking at the logs, I'm seeing the following repeating message: "kernel: CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set". It looks like it wasn't related to the upgrade as I now look back, it started happening when I installed Cake 0.0.5. I'm just curious as I learn more about using Cake. Thanks!
 
Slight improvement there, but I guess it highlights the limits of CPU-only routing, even with limited processing.

The commands I posted do explicitly disable the hw acceleration, which I am guessing is required in order for cake to run at all. Don't know what would happen if it were left enabled. It works probably disable cake?

...

I thought that I read early in this thread that Cake would run with Runner and Flow Cache enabled. I guess I was mistaken. That's a bummer because I'm sure that having those disabled will prevent hitting the router from reaching higher inbound speeds.
 

Sign Up For SNBForums Daily Digest

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