Qosify: new package for DSCP marking + cake

src/gz divested-wrt_core https://downloads.openwrt.org/snapshots/targets/mvebu/cortexa9/packages
src/gz divested-wrt_base https://downloads.openwrt.org/snapshots/packages/arm_cortex-a9_vfpv3-d16/base
src/gz divested-wrt_luci https://downloads.openwrt.org/snapshots/packages/arm_cortex-a9_vfpv3-d16/luci
src/gz divested-wrt_packages https://downloads.openwrt.org/snapshots/packages/arm_cortex-a9_vfpv3-d16/packages
src/gz divested-wrt_routing https://downloads.openwrt.org/snapshots/packages/arm_cortex-a9_vfpv3-d16/routing
# src/gz divested-wrt_telephony https://downloads.openwrt.org/snapshots/packages/arm_cortex-a9_vfpv3-d16/telephony

You’ll have to ask the maintainer of that build how they can move to Linux 6.1 while still pointing opkg to official repos running 5.15 for this target.

1 Like

@EXREYFOX

I have installed fine on 6.1.59, I do remember having this error when i tried to install some other package.but i used https://firmware-selector.openwrt.org and then under "Customize installed packages and/or first boot script" and then under "install package" i just added

qosify luci

then request build, wait, and then upload the sysupgrade file as i was on 5.15 and now 6.1.59

opkg info kernel

Package: kernel
Version: 6.1.59-1-d7ef9eb804da5bf193a7af9042016997
Depends: libc
Status: install user installed
Architecture: arm_cortex-a7_neon-vfpv4
Installed-Time: 1698017987

But in my case i dont use a build that exist in the firmware selector.
I use a custom build by Divested.
The last build 23.05.0 can i use the Qosify

I think you have to ask him to compile qosify for his build.

1 Like

There is a rather strict checksum if kernel build options/selections to ensure compatibility. In practice, you can't install official kernel modules into private builds.

(You should ask the builder of that private firmware to include all modules that you want...)

Thanks to all for the clarifications. :ok_hand:

i was wondering if anyone can help me understand the interaction here, i followed a pretty detailed guide, but when i commit, it limits EVERYTHING to 100mbit and if i try to "speed test from pc 1 and pc 2 at the same time" it actually splits that,
my feeling is that it is not accepting my bandwidth down setting and sticking with the script default of 100, or im missing somthing, i do not think this is a cpu issue, i have watched the graphs and checked them after a bunch of high data transfer and i dont see anything maxing out.

(google wifi ac-1304 openwrt 23.05)

any help would be GREATLY appreciated

Show the output of tc -s qdisc to confirm the effective CAKE settings and results.

i see now, i just restarted the service im gonna go use it normally for a bit and recheck the stats, i have a feeling my speed test was getting classified in a lower bucket just not sure which one lol

well i can see it working correct now, but its dumping everything into the best effort bucket, oddly my speed.cloudflare.com test results went to "great" but it doesnt seem to be prioritizing anything so im still missing some detail here,

is my isp sending me all unmarked packets? is there a way to remark them so it can function across buckets

That’s where you would add your own classification rules in Qosify. For example, you can add the dns:speed.cloudflare.com LE to mark all packets to/from that site as LE (or CS6 or whatever you want).

where would i add that rule, im new to the cli so im treading carefully, i saw the addins that vlad showed for geforce now, but i dont understand if it needs a commit after or if the script already knows where that info is going

also can i change the set limit per bucket?

You would add it to /etc/qosify/00-defaults.conf. You could use voice or bulk instead of a DSCP like LE.

is the "cat >" important in front of it? "cat > etc/qosify/" or is that specific to adding a seperate category? in your example would i be modifying the actual defaults list instead?

Cat(concatenate) is a standard Linux command and it's used to read data from a file.

When you type cat /etc/qosify/00-defaults.conf, it reads the data in that configuration file and it shows you the output.

When you type cat > /etc/qosify/00-defaults.conf with >, it will write data to that file.

You might want to type top while you're connected to your router via SSH and see the CPU load on the top.

Run a speedtest and watch the load. If it reaches close to 100%, that might be what's limiting your speed when using Qosify (or any SQM).

when i watch the load average i do see it sometimes hit1.xx a couple times but i was under the impression that was a per core type thing ... as im typing im remembering somthing about it being single core

Thanks for checking and for the reply.

Please check the row above it where it says:
CPU: 0% usr 1% sys 0% nic 96% idle 0% io 0% irq 1% sirq

Follow the % idle and see if it gets close to 0. That might give you a better idea how much CPU is available during load.

hey! thanks for coming, i have seen as low as 20 percent idle but never 0, is there a web based test you can think of to really test the shaping, i do have a linux dual boot so i can start a listening session, but im not 100 percent sure how to test the internet speed with that

Yes, you probably already know this one, but you can easily check the bufferbloat with: https://www.waveform.com/tools/bufferbloat

20 percent idle is really low, and it might point to a CPU bottleneck when using SQM.

You can try typing top -d1 which should give a more responsive view of the usage while testing. If you notice getting closer to 10% idle, that's very likely the issue why you get about 100 Mbps when using Qosify