Notes about Flint 3.x firmware and cake scheduler

Hello,
This is a note for anyone still on 3.x firmware. You can compile sch_cake.ko with the qsdk kernel headers and out-of-tree cake source code and kernel headers. However it will only work if you disable qca-nss-ecm service. Otherwise it will not work on ingress.

This is not necessary on 4.x and kmod-sch-cake is available in the repos directly.

1 Like

So to do this we:

  1. git clone this: GitHub - gl-inet/gl-infra-builder and this: GitHub - dtaht/sch_cake: Out of tree build for the new cake qdisc
  2. Follow the instructions on gl-infra-builder to “Compile AXT1800(2022.11.23)”
  3. then hook in the kernel headers for the AX-1800 into the sch_cake repo and build as a module?

I am having a bit of difficulty doing it. Does this look correct?

Yes, although I actually used qsdk11 repo. I can’t the link for it anymore, but it should work on infrabuilder also, you only need the kernel headers (not kernel sources). The cake repo is the right one.

Yes, you build it as module, and end up with .ko file which you transfer to the router and insmod.

Maybe this is the sdk repo:

Looks like I can get QSDK11 for the AX1800 from there

The build the sdk and kernel and build sf_cake against it

Will probably try it soon assuming I don’t get too busy

Yes that’s the one. Use ipq_ipq60xx-qsdk11.

@gtn Here you go. Found it in my backups of 3.x. Compiled and ready to go.
Just put it in /lib/modules/4.4.60 then insmod sch_cake.
Don’t forget to disable qca-nss-ecm: /etc/init.d/qca-nss-ecm disable and reboot

sch_cake.zip (147.1 KB)

1 Like

oh wow! Thank you so much

had to add sch_cake into /etc/modules/73-sched for the LuCi SQM to recognize it

Also added these to my local startup script:

/etc/init.d/qca-nss-ecm disable
/etc/init.d/qca-nss-ecm stop