CAKE w/ Adaptive Bandwidth [October 2021 to September 2022]

This is a great point. For my part, I'd hate to give someone like Ubiquiti the right to distribute this on hardware with crypto locked bootloader, hence GPLv3.

@moeller0 thank you :+1: Your work is in the repository history and deserves recognition as a major part of our inspiration.

For me, if $evilcorp locks it up but this lets more people get a better network experience, I'm not as happy as I could be, but overall I'll feel that I made a contribution. GPLv3 is still completely acceptable to me and is preferred by the team mates that do far more of the work than me.

Using GPLv3 might protect the servers from getting too many requests, since it will prevent commercialization. If a company wants to use this, it should provide something back, either ping servers or code. Just my 2 cents..

I strongly favour GPLv2. Here are some comments from Torvalds on the issue:

Flattering ;), still I did not add much to the "historic" effort either as far as copy right is concerned (ideas, luckily are not copy rightable, IIUC, expression of ideas is, and for code I take that as the implementation that is afforded copy right, but then I am not a lawyer).

About $evilcorp, I would assume they would simply pay a programmer (for less than a week taking writing a spec from the lua code, and another one to code a solution according to that spec) and just code up something quite similar but in another language, if they really wanted to use that for their own proprietary purposes. But again, not a lawyer so I could be wrong.

This would be a somewhat stronger argument if we would operate our own servers, no?

(Before anybody proposes creating a new time/OWD protocol, NTP pretty much already allows the required OWD measurements and pool.ntp.org allows to create named "vendor" pools where a "cake-autorate" pool could be created with less strict polling frequency rules than normal pools, these would have the added benefit that would also allow higher precision time setting for routers)

As an aside, just to check that we are not hammering flash memory?

root@OpenWrt:/overlay/upper# du . -h
8.0K    ./etc/opkg/keys
8.0K    ./etc/opkg
0       ./etc/rc.d
4.0K    ./etc/iproute2
4.0K    ./etc/init.d
8.0K    ./etc/dropbear
0       ./etc/luci-uploads
420.0K  ./etc/samba
8.0K    ./etc/nftables.d
0       ./etc/uci-defaults
72.0K   ./etc/config
592.0K  ./etc
0       ./root/.ssh
4.0K    ./root/.config/htop
4.0K    ./root/.config/rclone
8.0K    ./root/.config
1.2M    ./root/.cache/luarocks/https___luarocks.org
1.2M    ./root/.cache/luarocks
1.2M    ./root/.cache
1.2M    ./root
1.8M    .

The word 'cache' inside /overlay/upper is a little uncomfortable.

I only noticed this because I am trying to verify that my rclone script is not hammering my flash memory:

@_FailSafe anyone else who experienced huge latency spikes in the v0.4.2 release

here we go the feedback from version 0.4.3.

delaydownecdf
delayupecdf



downhist
uphist

Wow! What do you think? Can you tell a difference in how your connection feels?

1 Like

experiencing a glitch while watching the live stream. maybe because the downloads percentage setting is too low but it's most likely from the ISP used at night the quality is bad. i increased download_min_percent to 50%.

A glitch like buffering? Or something else?

Yes, it is buffering. Since I used the network for family, so increased to 50% with that quality ISP would have better experiences.

You might be able to get somewhat more bandwidth by increasing your delay trigger:

Perhaps something like 20ms as there's evidently a lot of noise in the 15ms range.

2 Likes

thank you for the advices.

qdisc cake 8011: dev ifb4eth1 root refcnt 2 bandwidth 40219Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 50ms noatm overhead 44 mpu 68

do i need to changes in sqm rtt 50 to 100 or 150 ms?

I don't think so, just change in the script the trigger level to 20 or maybe 22 ms

1 Like

@malikshi Eager to see how the trigger level change worked out for you whenever you have some updated stats! :slight_smile:

1 Like

If we were to use NTP with a vendor pool, that would still require us to get the pool.ntp.org operators to agree to let us hammer their servers more right?

Had a look on my own box and that luarocks cache looks to just store the index for the repository, which will only be updated when you try to install/update a package AFAIK. So I think we're good there : )

2 Likes

I think the idea is whoever joins the autorate pool would do so with the understanding that they'll be getting frequent pings.

The biggest objection to using NTP IMHO is that it's trivial to have the end user say. "nah let's switch to us.pool.ntp.org I'm in the us after all" and then someone is hammering the wrong pool. If the protocol and servers are totally separate then it's not possible to abuse the time infrastructure.

hello, i installed autorate and my tmp file gives me this, is this normal? I also don't see the created interface (veth, ibf4) am I missing a few things? However, I have no error message when installing

Starting sqm-autorate.lua v0.4.3
[WARN - 20220112T16:59:42]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 1 of 12)
[WARN - 20220112T16:59:47]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 2 of 12)
[WARN - 20220112T16:59:52]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 3 of 12)
[WARN - 20220112T16:59:57]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 4 of 12)
[WARN - 20220112T17:00:02]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 5 of 12)
[WARN - 20220112T17:00:07]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 6 of 12)
[WARN - 20220112T17:00:12]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 7 of 12)
[WARN - 20220112T17:00:17]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 8 of 12)
[WARN - 20220112T17:00:22]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 9 of 12)
[WARN - 20220112T17:00:27]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 10 of 12)
[WARN - 20220112T17:00:32]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 11 of 12)
[WARN - 20220112T17:00:37]: Rx stats file not yet available. Will retry again in 5 seconds. (Attempt 12 of 12)
[FATAL - 20220112T17:00:42]: Could not open stats file: /sys/class/net/ifb4wan/statistics/tx_bytes

Here is my freshly downloaded sqm auorate file, I am missing 2 lines, right?

config network
        option upload_interface 'wan'
        option download_interface 'ifb4wan'
        option upload_base_kbits '27000'
        option download_base_kbits '65000'
        option upload_min_percent '20'
        option download_min_percent '20'

config output
        option log_level 'INFO'
        option stats_file '/tmp/sqm-autorate.csv'
        option speed_hist_file '/tmp/sqm-speedhist.csv'