What's new

CakeQOS CakeQoS-Merlin v2.0.0 alpha

  • 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!

Status
Not open for further replies.
Unfortunately adding ingress to DLOPTIONS in /jffs/configs/cake-qos.conf.add doesn't improve bufferbloat. Ran the test several times on a quiet network, still C as result.

Edit: I did restart Cake-QoS in the meantime.
 
Everything will depend on the provider’s edge infrastructure. I drove as a test in AC86U. I get good results in unlimited mode.
The CakeQoS should be a native solution of the routers for possible instabilities of traffic in the network.
Congratulations to all involved in the project.
@ttgapers @dave14305 (the Jedi of QoS)
 
Unfortunately adding ingress to DLOPTIONS in /jffs/configs/cake-qos.conf.add doesn't improve bufferbloat. Ran the test several times on a quiet network, still C as result.

Edit: I did restart Cake-QoS in the meantime.
I wouldn't put too much trust into dslreports test. Some days I get a perfect A+ and other days I get a B or even C without changing any settings of cake.

Edit: Don't get me wrong, I still think it's generally a useful tool to check your settings in cake.
 
Last edited:
do you think in the future, non asus hnd routers get supported?
 
Thank you, I like cake as it has a better name, but I'll stick with flex, if it aint broke don't fix
how symmetrical is your connection? You're asking about the DL capabilities; the UL side is of equal importance in QoS.
If your UL speed is under 50Mbps, you might consider a trial
 
Known Issues
  • If you were running the 1.0.8 script, you need to stop cake-qos first in case of a conflict with ifb9eth0 and the firmware ifb4eth0. This is a subtle change to get in uniformity with the interface used by @RMerlin in the main firmware.
1.0.8 script? Was this the script in where you went into PuTTy and manually installed it? I'm currently using Cake from the beta firmware 386.2, so I'm guessing all is fine from my end?

Anyhow, I installed it and it loaded in properly, so I'm guessing I'm not running that script.

I don't know if this is a bug or whether this is intended, but the GUI disappears once I reboot my router. If I then head into PuTTy and type the install script again, the GUI returns. Unlike the first time, it doesn't say "Updated," just replies back with the message saying "done."

Great work by the way. This is fantastic. Really do appreciate your work.
 
how symmetrical is your connection? You're asking about the DL capabilities; the UL side is of equal importance in QoS.
If your UL speed is under 50Mbps, you might consider a trial
500/30 in reality on a good day 510/38
 
I have an Asus RT-AX88U running latest stock. Connection is 50Mbps down and 12Mbps up. I use Asus Traditional QOS and for the most part it works great, below is a basic setup I have.

Highest - RPi (Adguard Home DNS)
High - Work Laptops, Nest Doorbell and 2 x Nest Camera
Medium - Android streaming devices (2 x 4K devices),
Low (Default when device not assigned to class) - Everything else like Xbox, phones, smart devices, google devices, etc
Lowest - None

I plan to upgrade to Merlin 386.2 when it goes from beta to release. Question I have is regards to giving higher priority to devices or traffic when using CakeQOS. I always want work laptops to have high priority for MS Teams, Skype and Zoom. I then always want streaming to be given priority over something like downloads occurring on XBox. Is this possible with CakeQOS? Can I give devices or traffic higher priority, or is CakeQOS more of a "fair usage" QOS and no device gets priority, but rather each device will be given a fair share?
 
No, because as soon as a user customizes them in our GUI, they become detached from the firmware defaults. The same fields are always written to the config though, so I don’t believe it’s an issue. Do you see something different happening?

This was in the works, but cut out of the initial release due to the pressing need for basic customizations. But it will completely depend on moving Cake from ifb4eth0 to br0 (which was also in the works). It makes iptables much easier than skbedit. Miles to go...

Big plans include supporting iptables rules much like FlexQoS, using DSCP and Tins instead of Marks and Classes. Also I hope to be able to add support for ipsets populated from dnsmasq to put this on par with OpenWRT Ultimate SQM ...script. Light-years to go...
I agree with @Wade Coxon on this. Just some of the major rules could really change cake usage. Dave you posted that link when I question this few months back. I spent many hours messing with it,veth bridges,etc, and a few other scripts. Didnt
get anything worth a crap. But I have zero skills compared to you. There was one openwrt script that changed the priority usage (bandwidth?) of each tin, and you could assign client/ip to a tin also. Be damn if I can find it again though.
 
Hi Dave, a while ago on the beta thread you posted some tips on configuring stock Merlin cake, including this:
I've also added iptables rules for Teams and Zoom to ensure that it takes advantage of the Voice tin in diffserv3 on upload.
This is the contents of my /jffs/scripts/qos-start script. I have IPv6 enabled, so the last 4 lines aren't needed if you do not have IPv6 enabled.
Code:
#!/bin/sh

iptables -t mangle -D POSTROUTING -o eth0 -p udp -m multiport --dports 3478:3481 -j DSCP --set-dscp-class EF 2>/dev/null
iptables -t mangle -A POSTROUTING -o eth0 -p udp -m multiport --dports 3478:3481 -j DSCP --set-dscp-class EF
iptables -t mangle -D POSTROUTING -o eth0 -p udp -m multiport --dports 8001:8010 -j DSCP --set-dscp-class EF 2>/dev/null
iptables -t mangle -A POSTROUTING -o eth0 -p udp -m multiport --dports 8001:8010 -j DSCP --set-dscp-class EF

ip6tables -t mangle -D POSTROUTING -o eth0 -p udp -m multiport --dports 3478:3481 -j DSCP --set-dscp-class EF 2>/dev/null
ip6tables -t mangle -A POSTROUTING -o eth0 -p udp -m multiport --dports 3478:3481 -j DSCP --set-dscp-class EF
ip6tables -t mangle -D POSTROUTING -o eth0 -p udp -m multiport --dports 8001:8010 -j DSCP --set-dscp-class EF 2>/dev/null
ip6tables -t mangle -A POSTROUTING -o eth0 -p udp -m multiport --dports 8001:8010 -j DSCP --set-dscp-class EF
I use Zoom and Teams for work, and only have 6 Mbps upload, so like the idea of prioritizing them. Would this approach still work for CakeQoS-Merlin v2.0.0? That is, would adding a /jffs/scripts/qos-start file still work, or does this script use that file already?

(@rlj2, was that the thread you were thinking of?)
 
Hi Dave, a while ago on the beta thread you posted some tips on configuring stock Merlin cake, including this:

I use Zoom and Teams for work, and only have 6 Mbps upload, so like the idea of prioritizing them. Would this approach still work for CakeQoS-Merlin v2.0.0? That is, would adding a /jffs/scripts/qos-start file still work, or does this script use that file already?

(@rlj2, was that the thread you were thinking of?)
That is just ports though, pretty limited. But that will help on things as you mentioned. Doesnt work for things like netflix,etc Im pretty sure that script should work with beta2
 
I've updated the alpha to handle mounting the web page after a reboot. And I even tested it. :rolleyes:

Summary of changes today:
  • Fixed permissions on service-event-end preventing Check for Update from working properly
  • Added back ingress keyword to hardcoded download options. Can be overridden by adding egress to the Custom Download Options box.
  • Fixed WebUI missing after router reboot.
Update with cake-qos update or through the WebUI if you have already fixed the permissions manually.
 
I use Zoom and Teams for work, and only have 6 Mbps upload, so like the idea of prioritizing them. Would this approach still work for CakeQoS-Merlin v2.0.0? That is, would adding a /jffs/scripts/qos-start file still work, or does this script use that file already?
It would still work, but it is more appropriate to put them in firewall-start. I was probably hedging at the time since I have to switch back and forth between CakeQOS and FlexQoS.

If Merlin later decides to support the "rules" parameter of qos-start for Cake, it could make more sense to put them back in qos-start. But not for now.
 
Thanks for the great work on this script @dave14305 and @ttgapers. I've done a bit of testing and all working fine.

still getting the archer error when applying any changes but it does not seem to cause any issues...

Mar 21 11:26:25 CakeQOS-Merlin: Configuring Cake options...
Mar 21 11:26:26 kernel: Archer TCP Pure ACK Enabled
Mar 21 11:26:26 kernel: ^[[0;33;41m[ERROR archer] sysport_tm_command,1224: Feature Unavailable^[[0m
 
Thanks for the great work on this script @dave14305 and @ttgapers. I've done a bit of testing and all working fine.

still getting the archer error when applying any changes but it does not seem to cause any issues...

Mar 21 11:26:25 CakeQOS-Merlin: Configuring Cake options...
Mar 21 11:26:26 kernel: Archer TCP Pure ACK Enabled
Mar 21 11:26:26 kernel: ^[[0;33;41m[ERROR archer] sysport_tm_command,1224: Feature Unavailable^[[0m
I don't see such errors on an AC86U (which doesn't have Archer). But I assume you should still see those messages even if this script is uninstalled. I'm guessing it's related to setting up the ifb interface.
 
Another minor update to the webui to show a tooltip with what kind of throughput (goodput) you might expect based on your bandwidth, MTU and overhead. I've seen this calculation used by Sebastian Moeller on the Cake mail list and OpenWRT forums many times, and I've added it when you hover over the upload/download fields.

1616289039058.png


Goodput = Bandwidth * ( ( MTU - 20 - 20 ) / ( MTU + Overhead ) )

If your test results are reasonably close to these expectations, then you are doing well. This is for IPv4 Ethernet.
 
I don't see such errors on an AC86U (which doesn't have Archer). But I assume you should still see those messages even if this script is uninstalled. I'm guessing it's related to setting up the ifb interface.
Understood. I have never seen this before both with cake-qos v1 and merlin's standard installation. Could it be some additional logging that is coming through with the new script?
 
Understood. I have never seen this before both with cake-qos v1 and merlin's standard installation. Could it be some additional logging that is coming through with the new script?
Post some more of the syslog before and after those lines. Like this:

Code:
Mar 20 22:02:23 rc_service: httpds 1236:notify_rc restart_qos;restart_firewall
Mar 20 22:02:23 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Mar 20 22:02:23 CakeQOS-Merlin: Configuring Cake options...
Mar 20 22:02:23 lldpd[1061]: removal request for address of fe80::44ed:d1ff:febd:d526%21, but no knowledge of it
Mar 20 22:02:23 kernel: Ebtables v2.0 registered
Mar 20 22:02:25 BWDPI: fun bitmap = 3
Mar 20 22:02:25 custom_config: Appending content of /jffs/configs/cake-qos.conf.add.
Mar 20 22:02:25 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar 20 22:02:25 custom_script: Running /jffs/scripts/service-event (args: restart firewall)
Mar 20 22:02:26 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Mar 20 22:02:26 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
 
Status
Not open for further replies.

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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