What's new

Beta Asuswrt-Merlin 386.2 Beta is now available

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

RMerlin

Asuswrt-Merlin dev
Staff member
28-March-2021: Beta 3 is now available. Changes since Beta 2:
Code:
ebfec843d1 Updated documentation
89ddc423a0 webui: fix duplicate variable introduced with 73e5ec95e2
73e5ec95e2 webui: Fix timezone detection (#729)
a8b66a50f3 webui: move main content down on index page when the disabled wifi warning banner is shown
60bcbe7027 webui: allow changing https LAN port while in AP mode
0bbc055140 build: no longer explicitely disable NFCM
ce8af5c05d Bumped revision to beta 3
2f7a878aad kernel: proper fix for wlan accumulating stats issue
cd7c5b268b openssl: update to 1.1.1k
9c5335994d rc: make entries in passwd and shadow be in the same order
f0b7578887 webui: fix display of connected IPSEC clients on VPNStatus page; added display of IKEv2 clients
29c13bc4e5 Merge pull request #725 from dave14305/patch-1
e618da48ba rc: do not use dnsfilter_custom when querying the server table for an IPv6
e45995ce66 rc: Rearrange Cake variable positions


20-March-2021: Beta 2 is now available. Changes since Beta 1:
Code:
1cf08f7d10 Updated documentation
86aae14fcb httpd: fix ouiDB.json location for browser caching
c402f3c108 tools: exclude web files that cause the optimizing tool to crash and leave temp files in the /www directory
bf6559ab5f shared: match with rx/tx var types for backup_rx/backup_tx in netdev_calc()
fe677008a5 webui: remove OpenVPN server Windows FAQ as it's missing from the Asus website
d57130c437 webui: store local copies of online json files; add code to refresh them
0d62444ab8 httpd: fix openvpn/pptpd account list getting truncated after one entry
1e6831e65a rc: make qos-start run in blocking mode
3b449faf84 rc: revert static DNS routes added with GPL 42095
9311e1661b webui: QoS Classification page: add warning in Cake mode; harmonise qos type handling with nvram value
592448890b rc: rewritten dnsfilter server table management
7577702a81 rc: fix pointer corruption in filter_setting()
4ffb00efed Merge branch 'master' of github.com:RMerl/asuswrt-merlin.ng
c5087ce589 Merge pull request #718 from sadoneli/master
1788f2ea14 add .dummy file for wlcsm to make sure GT-AX11000 passing fw build
7d85c4c849 Bumped revision to beta 2


Asuswrt-Merlin 386.2 Beta is now available for all supported models. This release introduces support for the GT-AX11000 and the RT-AX68U, and also adds a new QoS mode based on the Cake packet scheduler.

The highlights:
  • Merged with GPL 386_42095
  • Added support for the RT-AX68U and GT-AX11000 (VPN Fusion and other ROG-only features not supported).
  • Added Cake to the list of QoS modes. This is only available on HND models (RT-AC86U or newer), and will also disable NAT acceleration, so it can't be used if you have a fast Internet connection (300-350 Mbps is probably the max speed possible on an RT-AX88U). See below for more details.
  • Updated components: OpenVPN (2.5.1), OpenSSL (1.1.1j), iproute2 (5.11.0, HND models only).
  • Added jittertimer-rngd to HND models, to improve entropy for cryptographic use (SSL key generation, etc...)

Please see the Changelogs for the details.


Cake:
Cake is a queue scheduler used by Linux to manage how packets are received/sent over the Internet. More intelligent management can greatly improve the user experience by ensuring that a large data stream (like a large download) will not impact smaller streams that are more timing-sensitive, like VoIP.

See https://www.bufferbloat.net/projects/codel/wiki/Cake/ for more info on Cake.

Cake is only available for kernels 4.1.xx, so that means the RT-AC86U and newer models, who are based on Broadcom's HND platform. It is also not compatible with NAT acceleration, just like Traditionnal QoS, so that means it cannot be used on Internet connections faster than around 300-350 Mbps (that limit may vary based on the router model and the amount of traffic).

The current implementation uses a diffserv3 queuing scheme for uploads (meaning that services like VoIP can get higher priority), and a single besteffort queue for download (as priority mapping of traffic coming from the Internet cannot be relied upon). On startup, Cake QoS will create two files:

/etc/cake-qos.conf, which contains the variables with parameters
/tmp/qos, which is the script that sets/removes the tc rules, based on the parameters retrieved from cake-qos.conf

cake-qos.conf can be overridden through the use of a /jffs/configs/cake-qos.conf.add file, which will be appended at the end of it. If you define any variable in the .add file, these will replace the values already defined in the router-generated cake-qos.conf.

You can also use the qos-start script that gets run before the /tmp/qos script to completely replace /tmp/qos with your own script, for more advanced customization of your Cake setup.

Make sure you configure the correct overhead when enabling Cake QoS, by selecting a preset from the list (by click on the red arrow). Selecting a preset will automatically configure the appropriate overhead, PMU and mode. If unsure, then select the Conservative option as a general safe value.

For upload/download, I recommend setting these to roughly 95% of your maximum speed. Setting it to "Automatic" will configure Cake for "unlimited bandwidth", which is generally not optimal.

A few additional notes for developers:
  • The rc_support feature list will contain "cake" on models that supports it.
  • The new iproute2 available on these same models now also supports outputting info in json format. Try "tc -s -json qdisc show dev eth0" for example.
  • dual-dsthost/dual-srchost was used instead of the default triple-isolate, as this should in theory provide better traffic management when multiple hosts are using the Internet at once
  • Various tc options were added to iproute2, like "ipset", "ematch" and "skbedit" support, allowing for more advanced tc filter rules to be defined.
  • Cake QoS has a qos_type of 9 (so not to create conflicts if in the future Asus were to implement a new QoS mode and used qos_type 4, the first available number). Make sure to check for it when creating a qos-start script.


Things in need of testing:
  • Cake in general. When testing, don't just rely on bufferbloat scores from DSLReports, but also test performance for example while doing a large file transfert or running a torrent at the same time you are trying to either ping a remote server or doing general web browsing
  • If you are skilled enough at it, experiment Cake with different queue priorities, like besteffort on both ingress/egress, triple-isolate, etc...
  • When reporting feedback, make sure you mention the following: Router model, connection speed, the type of connection (cable, VDSL2, etc...).

Please review the changelog for the complete list of changes as well as important upgrade informations.

Also, please limit discussions in this thread to this specific release. General support questions should be posted in a separate thread.


Downloads are here.
Changelog is here.
 
Last edited:
Known issues:

  • WAN/firewall issues on some models (mostly RT-AC88U/AC3100/AC5300 so far). (nvram pointer corruption when creating firewall rules, fixed in beta 2)
  • Cannot add more than one user to OpenVPN Server user list (bug introduced in GPL 42095, fixed for beta 2).
  • DNSFilter is broken when using IPv6 (fixed in beta 3)
 
Last edited:
Nice! Diving in now! Thanks @RMerlin and Team as always.
 
Upgraded my 3 APs (2 x RT-AC86U / 1 x RT-AX88U) without issue from 386.1_2 Release. Will do the main router "off-hours" later.
 
Various tc options were added to iproute2, like "ipset", "ematch" and "skbedit" support, allowing for more advanced tc filter rules to be defined.

Thanks as well. This will make more advanced users a lot happier :)
 
Many thanks, a smooth update from Alpha 2
 
All good on 2x AX86U's - dirty flash from 386.2_Alpha2.
Have thrown lots at Cake - video / audio / streaming / zoom / YouTube - no buffering - triple A+ on DSLReports.
Thanks again for superb work. :D.
 
Is this equivalent to RT-AX86U AsusWRT Firmware Version 3.0.0.4.386.41535 since I only found the latest firmware for AX86U is 386.41535. (this AsusWRT introduced AiMesh 2.0 though).

Thank you very much for your time to read and/or reply the question!
 
All good on 2x AX86U's - dirty flash from 386.2_Alpha2.
Have thrown lots at Cake - video / audio / streaming / zoom / YouTube - no buffering - triple A+ on DSLReports.
Thanks again for superb work. :D.
Yeah hopefully it is good as you tested since I got quiet buffering while AX86U AiMesh Router & AC86U as AiMesh node,,,most of the time the Wifi client got the buffering while connected to AC86U AiMesh node. (Thus I switched to use AsusWRT on both AX86U & AC86U no downtime nor buffering since the last 18 days!
 
Are those changes gonna be included in the Changelog? Comparing the changelog between the alpha 2 vs the beta only shows that the root certificate bundle was updated to March 9th 2021. Thanks!!!
The changelog doesn't include everything, only github does.

Is this equivalent to RT-AX86U AsusWRT Firmware Version 3.0.0.4.386.41535 since I only found the latest firmware for AX86U is 386.41535. (this AsusWRT introduced AiMesh 2.0 though).

Thank you very much for your time to read and/or reply the question!
No, as mentionned this is based on 386_42095.
 
Would you be so kind as to clarify my question here, please:
 
Just flashed 386.2_beta1 AX58U. Working as expected.
 
Without QOS I get the 250/25 I pay for, so I used 95% of that for Cake, as recommended.

Overall/Bufferbloat/Quality scores on DSLReports range from A+ to C; I think I have seen every value for every category...

Are those test really that random?

EDIT: on AC86u, 250/25 cable (DOCSIS)
 
Last edited:
I'm having more jitter without any load with cake on, just like with the script. This only happens with something that sends a lot of small packets, like the meter.net ping test. Or an online multiplayer game.
Adaptive QOS doesn't increase jitter under these scenarios either.

Cake Jitter test

ADSL2+ 12/1.

Edit: I'll add another testing with a game, uploading...
 
Last edited:
Status
Not open for further replies.

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