What's new

[RT-AC86U] I built cake!!!

  • 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.
Are you guys enabling ECN on the router and OS, as well as, DCTCP in the OS?
 
Here are my setup instructions:

Thanks to @robcore for his work. Wish we can get more versions moving!

Running the following as well:
amtm, scmerlin, syslog-ng/scribe, skynet, diversion (large list/youtube blocker), unbound (core dns), suricata (ips/ids), cake (QoS).

Pre-reqs
  • Not recommended for connection up/down of 250Mbps or higher
  • Disable QoS (any) - probably best to go to Admin/Privacy and "Withdraw" to be sure (note disables others stuff too)
  • Entware
  • USB Storage
  • jffs
Tips

Download based on your router
sched-cake-oot
RT-AC86U
https://drive.google.com/open?id=18sY2EmUxrw23ix-e0xHCWibLG6SB0YNu

RT-AX88U

https://drive.google.com/open?id=1YhawbEmvK1IMug9PeQbUH_gR8lN6o6Ee

All routers
tc-adv
https://drive.google.com/open?id=1cATB5RNBfwtxioP7JH89Sw-9PqX6voQ-

1. Upload to your router the files above.
2. Logon and browse to upload folder
3. Install:
  • opkg install sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk
  • opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
4. Create a new file in /jffs/scripts/cake-qos-start.sh OR nano /jffs/scripts/cake-qos-start.sh
5. Add the following:
Code:
#!/bin/sh

case $1 in
        start)
        logger "Starting Cake queue management"
       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 12Mbit besteffort nat

       ip link add name ifb9eth0 type ifb
       /opt/sbin/tc qdisc del dev eth0 ingress 2>/dev/null
       /opt/sbin/tc qdisc add dev eth0 handle ffff: ingress
       /opt/sbin/tc qdisc del dev ifb9eth0 root 2>/dev/null
       /opt/sbin/tc qdisc add dev ifb9eth0 root cake bandwidth 120Mbit besteffort nat wash ingress
       ifconfig ifb9eth0 up
       /opt/sbin/tc filter add dev eth0 parent ffff: protocol all prio 10 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb9eth0
        ;;
        stop)
   logger "Stopping Cake queue management"
       ##off
       /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
       ;;
   *)
        echo "Usage: $0 {start|stop}"
        ;;
esac
Note:
eth0 for upload, ifb9eth0 for download.
Kbit or Mbit both are ok. e.g 800Kbps upload and 10Mbps download.

Edit the lines in the above code block to suit along with any tweaks based on the Tips above based on connection type ADSL, Docsis etc.

  • /opt/sbin/tc qdisc replace dev eth0 root cake bandwidth 800Kbit besteffort nat
  • /opt/sbin/tc qdisc add dev ifb9eth0 root cake bandwidth 10Mbit besteffort nat ingress wash
6. nano /jffs/scripts/services-start
7. Add sh /jffs/scripts/cake-qos-start.sh start
8. nano /jffs/script/services-stop
9. Add /jffs/scripts/cake-qos-start.sh stop
10. chmod +x /jffs/scripts/cake-qos-start.sh
11. Start Cake QoS: sh /jffs/scripts/cake-qos-start.sh start OR to stop sh /jffs/scripts/cake-qos-start.sh stop
12. Validate/test
  • tc qdisc
  • tc -s qdisc show dev eth0 (for upload)
  • tc -s qdisc show dev ifb9eth0 (for download)
Having a issue atm

Code:
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# sh /jffs/scripts/cake-start.sh
: not foundts/cake-start.sh: line 2:
/jffs/scripts/cake-start.sh: line 3: syntax error: unexpected word (expecting "in")
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#
 
Having a issue atm

Code:
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# sh /jffs/scripts/cake-start.sh
: not foundts/cake-start.sh: line 2:
/jffs/scripts/cake-start.sh: line 3: syntax error: unexpected word (expecting "in")
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#

try as per the updated post:
Code:
sh /jffs/scripts/cake-qos-start.sh start
 
try as per the updated post:
Code:
sh /jffs/scripts/cake-qos-start.sh start

same error it's script formatting related when copied...going to try notepad++
what a pia!!!

would you mind uploading a copy of your properly formatted script please....as if i copy anything from guide it rips out the formatting of the script!

only way i can see of getting around it is uploading a known good script and editing with nano
 
Last edited:
same error it's script formatting related when copied...going to try notepad++
what a pia!!!

would you mind uploading a copy of your properly formatted script please....as if i copy anything from guide it rips out the formatting of the script!

only way i can see of getting around it is uploading a known good script and editing with nano

Its probably because you have line endings in Notepad++ set to CRLF rather then LF. You can either fix this setting manually or run the following command;

Code:
dos2unix /jffs/scripts/cake-qos-start.sh
 
Its probably because you have line endings in Notepad++ set to CRLF rather then LF. You can either fix this setting manually or run the following command;

Code:
dos2unix /jffs/scripts/cake-qos-start.sh
That fixed it, formatting still screwedup though!
 
I uploaded to the default tmp folder when you log in. Key questions, is your router supported and secondly did you pull the right file(s), and lastly do you have Entware already installed? Please double check filenames, as the orig post on Page 3 had an old version of the file. Also posting the output of your error(s) may help. I know @Kingp1n and others have assisted on installs as I can also.
I'm using a AX-88U. I think I have Entware installed, it shows up in amtm. This is the error I get:

Code:
admin@RT-AX88U-5378:/tmp/home/root# opkg install sched-cake-oot_2020-05-28-a5dcc
fd8-1_aarch64-3.10.ipk
Collected errors:
 * wfopen: sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk: No such file o  directory.
 * pkg_init_from_file: Failed to extract control file from sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk.
 
One other item perhaps you all can test/confirm is that I am seeing a nice drop in memory usage on my device since I disabled the the non-CAKE QoS variants on my router. Anyone else care to verify?
quantify "nice drop" please...more than 10% ?
 
That is a nice drop indeed...
As I’m on a 50/10 vDSL connection with 3+ users and 2+ devices per user, optimizing bandwidth usage in that environment is what keeps everybody happy.
I may just get around to getting serious about cake tonight.
Thank you!


Sent from my iPhone using Tapatalk
 
Quick question about hardware acceleration with Cake.
I can see the "Flow Cache HW Acceleration disabled" message in the router logs when I enable Cake, but the "Tools" page shows both Flow Cache and Runner are enabled.

Is there some false feedback here? Does the tools page derive the Flow Cache state based on the state of the settings instead of the actual state of HW acceleration?
 
hey guys, update

used notepad++ on windows and this time script has no errors, but......received this

Code:
ASUSWRT-Merlin RT-AC86U 384.18_alpha1-gb66d5282dd Sat Jun 13 21:56:32 UTC 2020
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# dos2unix /jffs/scripts/cake-start.sh
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# sh /jffs/scripts/cake-start.sh start
Broadcom Packet Flow Cache learning via BLOG disabled.
Broadcom Packet Flow Cache flushing the flows
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# sh /jffs/scripts/cake-start.sh start
Broadcom Packet Flow Cache learning via BLOG disabled.
Broadcom Packet Flow Cache flushing the flows
RTNETLINK answers: File exists
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#

contents of cake-start.sh

Code:
#!/bin/sh

case $1 in
        start)
        logger "Starting Cake queue management"
       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 18Mbit besteffort nat ptm ack-filter

       ip link add name ifb9eth0 type ifb
       /opt/sbin/tc qdisc del dev eth0 ingress 2>/dev/null
       /opt/sbin/tc qdisc add dev eth0 handle ffff: ingress
       /opt/sbin/tc qdisc del dev ifb9eth0 root 2>/dev/null
       /opt/sbin/tc qdisc add dev ifb9eth0 root cake bandwidth 67Mbit besteffort nat wash ingress ptm ack-filter
       ifconfig ifb9eth0 up
       /opt/sbin/tc filter add dev eth0 parent ffff: protocol all prio 10 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb9eth0
        ;;
        stop)
   logger "Stopping Cake queue management"
       ##off
       /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
       ;;
   *)
        echo "Usage: $0 {start|stop}"
        ;;
esac

tc qdisc

Code:
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# qdisc
-sh: qdisc: not found
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# tc qdisc
qdisc cake 8001: dev eth0 root refcnt 2 bandwidth 18Mbit besteffort triple-isolate nat nowash ack-filter split-gso rtt 100.0ms raw ptm overhead 0 no-sce
qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev ppp0 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev tun11 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc cake 8006: dev ifb9eth0 root refcnt 2 bandwidth 67Mbit besteffort triple-isolate nat wash ingress ack-filter split-gso rtt 100.0ms raw ptm overhead 0 no-sce
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#


tc -s qdisc show dev eth0

Code:
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# tc -s qdisc show dev eth0
qdisc cake 8001: root refcnt 2 bandwidth 18Mbit besteffort triple-isolate nat nowash ack-filter split-gso rtt 100.0ms raw ptm overhead 0 no-sce
 Sent 15558991 bytes 103158 pkt (dropped 31, overlimits 24128 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 110400b of 4Mb
 capacity estimate: 18Mbit
 min/max network layer size:           30 /    1514
 min/max overhead-adjusted size:       31 /    1538
 average network hdr offset:           14

                  Tin 0
  thresh         18Mbit
  target          5.0ms
  interval      100.0ms
  pk_delay        1.8ms
  av_delay         87us
  sp_delay          0us
  backlog            0b
  pkts           103195
  bytes        15594851
  way_inds          180
  way_miss          196
  way_cols            0
  marks               0
  drops              31
  ack_drop            0
  sp_flows            1
  bk_flows            1
  un_flows            0
  max_len          1514
  quantum           549

qdisc ingress ffff: parent ffff:fff1 ----------------
 Sent 251166872 bytes 179316 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#

tc -s qdisc show dev ifb9eth0

Code:
ASUSWRT-Merlin RT-AC86U 384.18_alpha1-gb66d5282dd Sat Jun 13 21:56:32 UTC 2020
KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root# tc -s qdisc show dev ifb9eth0
qdisc cake 8006: root refcnt 2 bandwidth 67Mbit besteffort triple-isolate nat wash ingress ack-filter split-gso rtt 100.0ms raw ptm overhead 0 no-sce
 Sent 2623567280 bytes 1810715 pkt (dropped 829, overlimits 1631418 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 380Kb of 4Mb
 capacity estimate: 67Mbit
 min/max network layer size:           60 /    1514
 min/max overhead-adjusted size:       61 /    1538
 average network hdr offset:           14

                  Tin 0
  thresh         67Mbit
  target          5.0ms
  interval      100.0ms
  pk_delay       15.2ms
  av_delay        8.8ms
  sp_delay        818us
  backlog            0b
  pkts          1811544
  bytes      2624770287
  way_inds          454
  way_miss         2232
  way_cols            0
  marks               0
  drops             829
  ack_drop            0
  sp_flows            0
  bk_flows            1
  un_flows            0
  max_len          1514
  quantum          1514

KBvUTgSItSQdjpCB@RT-AC86U-87E8:/tmp/home/root#

Looks like it might be working, can you guys confirm if outputs correct?

Any idea? @ttgapers @Kingp1n
 
Last edited:
hey guys, update
Any idea?
It ran successfully the first time you started it, and then it threw a file exists error when you tried to start it a second time without stopping it first. I guess it is because it was trying to add a route that already existed.

Maybe the script needs some extra lines in the start case to clean up a previous startup before re-applying?
 
Below code old, check this post for the latest and greatest: https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992

My sincere thanks to everyone contributing to this, I never really liked running QoS on my AC86U because it meant having to enable Trend-Micro.

Although I'm not a native to Bash scripting, I've made some modifications to the script to allow for parameter passing to minimize the need to edit the main cake script directly (and also uploaded the binaries to my server for easy installation). This means you only need to edit /jffs/scripts/services-start to change your settings (e.g. speeds, optional extra parameters like "docsis ack-filter")

To anyone looking to put together the "official" script feel free to use any part of my code, no credits needed :)

https://5m.ca/cake/ (contains my script, the binaries, and an md5sums.txt file so you can compare the hashes against the Google Drive ones linked in the other installation guides). Other installation guides in this thread:

https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-3#post-589049
https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (<= good points on pre-requisites + tips)

Rough guide - untested as my AC86U is at my parents and I'll be doing this late at night this weekend:

### Installation

Follow pre-reqs mentioned in https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (e.g. disable QoS, Entware + JFFS required) then SSH into your router:

Code:
cd /tmp/home/root

# If RT-AC86U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# If RT-AX88U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# Download script
Code:
wget https://5m.ca/cake/cake-qos-start.sh -O /jffs/scripts/cake-qos-start.sh
chmod a+rx /jffs/scripts/cake-qos-start.sh

# To auto-run script on services start
Code:
nano /jffs/scripts/services-start

# Add the following line:
/jffs/scripts/cake-qos-start.sh start dlspeed upspeed "optional extra parameters"
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

IMPORTANT
: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod +x /jffs/scripts/services-start after saving.

CTRL + X, Y, Enter to save

# To auto-stop script on services stop

Code:
nano /jffs/scripts/services-stop

# Add the following line:
Code:
/jffs/scripts/cake-qos-start.sh stop

IMPORTANT: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod +x /jffs/scripts/services-stop after saving.

CTRL + X, Y, Enter to save

Now you can either reboot your router or manually start / stop the scripts.

### Manually Start / Stop

To manually start:
sh /jffs/scripts/cake-qos-start.sh start dlspeed upspeed "optional extra parameters"
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

To manually stop:
Code:
sh /jffs/scripts/cake-qos-start.sh stop

### Validate / Test
Code:
tc qdisc
tc -s qdisc show dev eth0 # for upload
tc -s qdisc show dev ifb9eth0 # for download

Also check your system log for: Cake Queue Management Starting (e.g. Cake Queue Management Starting - config: 30Mbit | 5Mbit | docsis ack-filter)

### Uninstallation

Manually run:
Code:
sh /jffs/scripts/cake-qos-start.sh stop

Remove or comment out the cake lines from /jffs/scripts/services-start and /jffs/scripts/services-stop (I'd recommend commenting out vs removing)
To comment out, simply add a # to the beginning of the line.

(optional) Delete cake script by running: rm /jffs/scripts/cake-qos-start.sh

(optional) You can remove the binaries via: opkg remove binaryname (sorry I'm not too sure what the package names are but you can try opkg list-installed | grep cake and opkg list-installed | grep adv)
 
Last edited:
My sincere thanks to everyone contributing to this, I never really liked running QoS on my AC86U because it meant having to enable Trend-Micro.

Although I'm not a native to Bash scripting, I've made some modifications to the script to allow for parameter passing to minimize the need to edit the main cake script directly (and also uploaded the binaries to my server for easy installation). This means you only need to edit /jffs/scripts/services-start to change your settings (e.g. speeds, optional extra parameters like "docsis ack-filter")

To anyone looking to put together the "official" script feel free to use any part of my code, no credits needed :)

https://5m.ca/cake/ (contains my script, the binaries, and an md5sums.txt file so you can compare the hashes against the Google Drive ones linked in the other installation guides). Other installation guides in this thread:

https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-3#post-589049
https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (<= good points on pre-requisites + tips)

Rough guide - untested as my AC86U is at my parents and I'll be doing this late at night this weekend:

### Installation

Follow pre-reqs mentioned in https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (e.g. disable QoS, Entware + JFFS required) then SSH into your router:

Code:
cd /tmp/home/root

# If RT-AC86U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# If RT-AX88U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# Download script
Code:
wget https://5m.ca/cake/cake-qos-start.sh -O /jffs/scripts/cake-qos-start.sh
chmod a+rx /jffs/scripts/cake-qos-start.sh

# To auto-run script on services start
Code:
nano /jffs/scripts/services-start

# Add the following line:

Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

IMPORTANT
: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod a+rx /jffs/script/services-start after saving.

CTRL + X, Y, Enter to save

# To auto-stop script on services stop

Code:
nano /jffs/script/services-stop

# Add the following line:
Code:
/jffs/scripts/cake-qos-start.sh stop

IMPORTANT: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod a+rx /jffs/script/services-stop after saving.

CTRL + X, Y, Enter to save

Now you can either reboot your router or manually start / stop the scripts.

### Manually Start / Stop

To manually start:
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

To manually stop:
Code:
sh /jffs/scripts/cake-qos-start.sh stop

### Validate / Test
Code:
tc qdisc
tc -s qdisc show dev eth0 # for upload
tc -s qdisc show dev ifb9eth0 # for download

Also check your system log for: Cake Queue Management Starting (e.g. Cake Queue Management Starting - config: 30Mbit | 5Mbit | docsis ack-filter)

### Uninstallation

Manually run:
Code:
sh /jffs/scripts/cake-qos-start.sh stop

Remove or comment out the cake lines from /jffs/script/services-start and /jffs/script/services-stop (I'd recommend commenting out vs removing)
To comment out, simply add a # to the beginning of the line.

(optional) Delete cake script by running: rm /jffs/script/cake-qos-start.sh

(optional) You can remove the binaries via: opkg remove binaryname (sorry I'm not too sure what the package names are but you can try opkg list-installed | grep cake and opkg list-installed | grep adv)

Thank you for this. I've managed to get Cake QOS on my AX-88U and it seems to work well. Only thing, which is know doubt down to me, it doesn't appear to start at start-up. The only thing I wasn't sure how to do was the chmod a+rx parts? I can manually start it though.
 
Thank you for this. I've managed to get Cake QOS on my AX-88U and it seems to work well. Only thing, which is know doubt down to me, it doesn't appear to start at start-up. The only thing I wasn't sure how to do was the chmod a+rx parts? I can manually start it though.

Great to hear! What does running the following commands return?

cat /jffs/scripts/services-start
ls -l /jffs/scripts
 
Great to hear! What does running the following commands return?

cat /jffs/scripts/services-start
ls -l /jffs/scripts
Code:
ASUSWRT-Merlin RT-AX88U 384.17_0 Sun Apr 26 02:29:04 UTC 2020
admin@RT-AX88U-5378:/tmp/home/root# cat /jffs/scripts/services-start
#!/bin/sh

/jffs/scripts/uiScribe startup # uiScribe
/jffs/scripts/connmon startup & # connmon

/jffs/scripts/uiDivStats startup & # uiDivStats
/jffs/scripts/cake-qos-start.sh start 58Mbit 12.8Mbit "pppoe-ptm ack-filter"
cru a root_servers  "12 4 * * * curl -o \/opt\/var\/lib\/unbound\/root\.hints https://www.internic.net/domain/named.cache"      # unbound_manager
admin@RT-AX88U-5378:/tmp/home/root# ls -l /jffs/scripts
-rwxr-xr-x    1 admin    root        105376 Mar  5 01:40 FreshJR_QOS
-rwxrwxrwx    1 admin    root          1696 Jun 17 17:29 cake-qos-start.sh
-rwxr-xr-x    1 admin    root         38991 Jun 15 16:04 connmon
-rwxr-xr-x    1 admin    root           186 Jun 15 19:42 dnsmasq.postconf
-rwxr-xr-x    1 admin    root            49 May  7 20:05 firewall-start
-rwxrwxrwx    1 admin    root            68 Jun 15 19:42 init-start
-rw-r--r--    1 admin    root            82 Mar  5 01:41 nat-start
-rwxr-xr-x    1 admin    root           326 Jun 15 19:42 post-mount
-rwxr-xr-x    1 admin    root         18620 Jun 15 16:05 scmerlin
-rwxr-xr-x    1 admin    root         48639 Mar  5 01:40 scribe
-rwxr-xr-x    1 admin    root           332 Jun 15 19:42 service-event
-rwxr-xr-x    1 admin    root           362 Jun 17 19:08 services-start
-rwxr-xr-x    1 admin    root           438 Jun 17 19:18 services-start.save
-rwxr-xr-x    1 admin    root           100 Jun 17 19:31 services-stop
-rwxr-xr-x    1 admin    root         48460 Jun 15 19:34 uiDivStats
-rwxr-xr-x    1 admin    root         15268 May  4 15:44 uiScribe
-rwxr-xr-x    1 admin    root           308 Jun 15 16:03 unmount
-rw-rw-rw-    1 admin    root            80 Mar  5 01:53 wan-event
-rw-r--r--    1 admin    root             0 Mar  5 01:55 wan-start
-rw-rw-rw-    1 admin    root         98967 Mar  5 01:40 www_FreshJR_QoS_Stats.a                                                                                                                                                                                                                                                                                                                                                           sp
 
Code:
ASUSWRT-Merlin RT-AX88U 384.17_0 Sun Apr 26 02:29:04 UTC 2020
admin@RT-AX88U-5378:/tmp/home/root# cat /jffs/scripts/services-start
#!/bin/sh

/jffs/scripts/uiScribe startup # uiScribe
/jffs/scripts/connmon startup & # connmon

/jffs/scripts/uiDivStats startup & # uiDivStats
/jffs/scripts/cake-qos-start.sh start 58Mbit 12.8Mbit "pppoe-ptm ack-filter"
cru a root_servers  "12 4 * * * curl -o \/opt\/var\/lib\/unbound\/root\.hints https://www.internic.net/domain/named.cache"      # unbound_manager
admin@RT-AX88U-5378:/tmp/home/root# ls -l /jffs/scripts
-rwxr-xr-x    1 admin    root        105376 Mar  5 01:40 FreshJR_QOS
-rwxrwxrwx    1 admin    root          1696 Jun 17 17:29 cake-qos-start.sh
-rwxr-xr-x    1 admin    root         38991 Jun 15 16:04 connmon
-rwxr-xr-x    1 admin    root           186 Jun 15 19:42 dnsmasq.postconf
-rwxr-xr-x    1 admin    root            49 May  7 20:05 firewall-start
-rwxrwxrwx    1 admin    root            68 Jun 15 19:42 init-start
-rw-r--r--    1 admin    root            82 Mar  5 01:41 nat-start
-rwxr-xr-x    1 admin    root           326 Jun 15 19:42 post-mount
-rwxr-xr-x    1 admin    root         18620 Jun 15 16:05 scmerlin
-rwxr-xr-x    1 admin    root         48639 Mar  5 01:40 scribe
-rwxr-xr-x    1 admin    root           332 Jun 15 19:42 service-event
-rwxr-xr-x    1 admin    root           362 Jun 17 19:08 services-start
-rwxr-xr-x    1 admin    root           438 Jun 17 19:18 services-start.save
-rwxr-xr-x    1 admin    root           100 Jun 17 19:31 services-stop
-rwxr-xr-x    1 admin    root         48460 Jun 15 19:34 uiDivStats
-rwxr-xr-x    1 admin    root         15268 May  4 15:44 uiScribe
-rwxr-xr-x    1 admin    root           308 Jun 15 16:03 unmount
-rw-rw-rw-    1 admin    root            80 Mar  5 01:53 wan-event
-rw-r--r--    1 admin    root             0 Mar  5 01:55 wan-start
-rw-rw-rw-    1 admin    root         98967 Mar  5 01:40 www_FreshJR_QoS_Stats.a                                                                                                                                                                                                                                                                                                                                                           sp

Thanks, it looks good; the only possible thing is rounding up your upload speed so it's:

/jffs/scripts/cake-qos-start.sh start 58Mbit 13Mbit "pppoe-ptm ack-filter"

Perhaps it doesn't like the period. I hope this fixes it!
 
I've made some modifications to the script to allow for parameter passing to minimize the need to edit the main cake script directly (and also uploaded the binaries to my server for easy installation). This means you only need to edit /jffs/scripts/services-start to change your settings (e.g. speeds, optional extra parameters like "docsis ack-filter")

To anyone looking to put together the "official" script feel free to use any part of my code, no credits needed :)

https://5m.ca/cake/ (contains my script, Other installation guides in this thread:

https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-3#post-589049
https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (<= good points on pre-requisites + tips)

Rough guide - untested as my AC86U is at my parents and I'll be doing this late at night this weekend:

### Installation

Follow pre-reqs mentioned in https://www.snbforums.com/threads/rt-ac86u-i-built-cake.49190/page-5#post-593992 (e.g. disable QoS, Entware + JFFS required) then SSH into your router:

Code:
cd /tmp/home/root

# If RT-AC86U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-1_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# If RT-AX88U
Code:
wget https://5m.ca/cake/sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk https://5m.ca/cake/tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk
opkg install sched-cake-oot_2020-05-28-a5dccfd8-ax_aarch64-3.10.ipk
opkg install tc-adv_4.16.0-git-20191110_aarch64-3.10.ipk

# Download script
Code:
wget https://5m.ca/cake/cake-qos-start.sh -O /jffs/scripts/cake-qos-start.sh
chmod +x /jffs/scripts/cake-qos-start.sh

# To auto-run script on services start
Code:
nano /jffs/scripts/services-start

# Add the following line:

Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

IMPORTANT
: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod +x /jffs/script/services-start after saving.

CTRL + X, Y, Enter to save

# To auto-stop script on services stop

Code:
nano /jffs/script/services-stop

# Add the following line:
Code:
/jffs/scripts/cake-qos-start.sh stop

IMPORTANT: check that the first line of this file is - #!/bin/sh - add this if missing. If missing, also run chmod +x /jffs/script/services-stop after saving.

CTRL + X, Y, Enter to save

Now you can either reboot your router or manually start / stop the scripts.

### Manually Start / Stop

To manually start:
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"

To manually stop:
Code:
sh /jffs/scripts/cake-qos-start.sh stop

### Validate / Test
Code:
tc qdisc
tc -s qdisc show dev eth0 # for upload
tc -s qdisc show dev ifb9eth0 # for download
Thanks, it looks good; the only possible thing is rounding up your upload speed so it's:

/jffs/scripts/cake-qos-start.sh start 58Mbit 13Mbit "pppoe-ptm ack-filter"

Perhaps it doesn't like the period. I hope this fixes it!

is the pppoe-ptm for vdsl2 connections?
 
Status
Not open for further replies.

Similar threads

Sign Up For SNBForums Daily Digest

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