randomName
Very Senior Member
Are you guys enabling ECN on the router and OS, as well as, DCTCP in the OS?
Having a issue atmHere 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
Tips
- 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
- @Odkrys: If you use connections like ADSL, VDSL, Docsis, learn about the overhead keyword. https://man7.org/linux/man-pages/man8/tc-cake.8.html
- See: https://www.reddit.com/r/linux/comments/fvi267/psa_sqm_cake_nat_and_bufferbloat_tuning/ I added "docsis ack-filter") to both add lines below as I use Cable modem service.
- Use 95% of your line speed as upload/download limits
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:
4. Create a new file in /jffs/scripts/cake-qos-start.sh OR nano /jffs/scripts/cake-qos-start.sh
- 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
5. Add the following:
Note: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
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.
6. nano /jffs/scripts/services-start
- /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
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)
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#
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
dos2unix /jffs/scripts/cake-qos-start.sh
That fixed it, formatting still screwedup though!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
I'm using a AX-88U. I think I have Entware installed, it shows up in amtm. This is the error I get: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.
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.
quantify "nice drop" please...more than 10% ?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?
Mine seems to be more than 10%quantify "nice drop" please...more than 10% ?
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#
#!/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
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#
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#
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#
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.hey guys, update
Any idea?
cd /tmp/home/root
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
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
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
nano /jffs/scripts/services-start
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"/jffs/scripts/cake-qos-start.sh start dlspeed upspeed "optional extra parameters"
nano /jffs/scripts/services-stop
/jffs/scripts/cake-qos-start.sh stop
Change the bolded portions to match your needs, example: /jffs/scripts/cake-qos-start.sh start 30Mbit 5Mbit "docsis ack-filter"sh /jffs/scripts/cake-qos-start.sh start dlspeed upspeed "optional extra parameters"
sh /jffs/scripts/cake-qos-start.sh stop
tc qdisc
tc -s qdisc show dev eth0 # for upload
tc -s qdisc show dev ifb9eth0 # for download
sh /jffs/scripts/cake-qos-start.sh stop
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.
Great to hear! What does running the following commands return?
cat /jffs/scripts/services-start
ls -l /jffs/scripts
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
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!
Yes, under "VDSL2 Overhead Keywords" on https://man7.org/linux/man-pages/man8/tc-cake.8.htmlis the pppoe-ptm for vdsl2 connections?
Welcome To SNBForums
SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.
If you'd like to post a question, simply register and have at it!
While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!