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

@malikshi Would you mind dropping your CSV files somewhere I can grab them and take a deeper look into this?

i think issues on my side.
you can check csv

1 Like

@_FailSafe @dlakelan can you check this one running with normal connection without kmod-tun running. and can you ignore my feedback before i think it's issues on my side since i running kmod-tun.
sqm-autorate config

config network
        option upload_interface 'eth1'
        option download_interface 'ifb4eth1'
        option upload_base_kbits '17000'
        option download_base_kbits '25500'
        option upload_min_percent '20'
        option download_min_percent '20'

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

config advanced_settings
        option upload_delay_ms '15'
        option download_delay_ms '15'

delaydownecdf
delayupecdf
downhist
uphist



is it the current version support multiple WAN interface?

1 Like

Not now and, I think, not for a while.

1 Like

That run looks like what I expect. How was the "feel" of the connection during that run? what were you doing? Video conferences? Or other "realtime" things? Did you have lots of glitches, or maybe only a few, or none?

1 Like

4 devices connected, and one of them vid conference zoom. I did test game & VC discord on smartphone has good ping as expected.

So the "experience" was generally good? Did you have any garbled audio? Any freezing video? any feeling of lag? game that felt "heavy"? any things like that? Even if only for a brief time... half a second or a second or 2 seconds? maybe one slight freeze every minute or something like that?

overall is good.
can you dns/ip reflector in the sqm-autorate config so users can changes the dns/ip to nearest to them? is it possible?

sqm-autorate uses a library of around 300 public icmp addresses. During runtime, it periodically polls and chooses a new list of 5 servers to avoid hammering any particular server, with some bias toward nearby servers (I'm not familiar with this part of the code, so am 'waffling' a bit).

Look at https://github.com/Fail-Safe/sqm-autorate/blob/testing/lua-threads/lib/reflectors-icmp.csv for the current list.

There are thoughts about automatically extending the list to include the user's ISP's ICMP addresses but we have much to do before we get to that.

2 Likes

That's pretty much correct. In the latest update it starts out with a set of 6 then frequently tries to find more good ones. Within the first few minutes it should have some good ones for your individual connection.

3 Likes

From my initial testing with v0.4.2 it feels MUCH better. My small issue with timeouts during browsing seems mitigated, it looks like it does exactly what it is supposed to do. I have been running it since last night, and will run it all through today where i have some work calls and there will be some varied load. But so far, it appears very much improved, i am amazed by the progress TBH, you are all doing an awesome job. I will save the CSV's so we can take a look at it

2 Likes

Sounds great! Thanks for the update!

We did find an interesting "event" that has to do with rollover of timestamps at midnight GMT. Several noticed some odd behavior around that and we're working toward addressing it here: https://github.com/Fail-Safe/sqm-autorate/discussions/82

Feel free to check out the discussions going on there and join in with feedback and suggestions. Thanks :slight_smile:

This is looking fantastic guys, back from a long hiatus and what you've all done is impressive.
I've installed v0.4.2 in place of my existing lua wanmonitoring script and results are looking promising, I did have to make a couple of tweaks to get things working:

  • In the setup script I replaced 'curl -o' with 'wget -O' as curl isn't installed by default.
  • As I'm using OpenWrt's br-lan as my ingress device I had to adjust the logic for determining rx_bytes_path because the current logic pulled the upload rather than download rate (I've now used the rx of the ul_if since there could be non-wan traffic on the br-lan interface tx which would falsely inflate wan activity).
    -- Verify these are correct using "cat /sys/class/..."
    if dl_if:find("^ifb.+") or dl_if:find("^veth.+") then
        rx_bytes_path = "/sys/class/net/" .. dl_if .. "/statistics/tx_bytes"
    elseif dl_if == "br-lan" then
        rx_bytes_path = "/sys/class/net/" .. ul_if .. "/statistics/rx_bytes"
    else
        rx_bytes_path = "/sys/class/net/" .. dl_if .. "/statistics/rx_bytes"
    end

I'll detail these as issues in the git repo.

1 Like

Ah, great catch! Apologies for the miss there on my part. Thanks for calling this out and for any issues you are able to raise for this and anything else. Many thanks!

Also, would be very happy to have you join in to any of the discussions out here (or create additional topics there): https://github.com/Fail-Safe/sqm-autorate/discussions

1 Like

For the TurrisOS users out here, could you take a look at this and weigh in with your inputs?

Thanks!

Since there's probably more exotic configurations out there we haven't thought of, would it be an idea to have a "inverse flag" in the settings you can toggle if you have a setup like @yelreve's?

2 Likes

Hey folks, is it still needed for me to compile patched lualanes to get this to run? I have since upgraded my snapshot.

Unless it was fixed by Openwrt maintainers, I think you still need the patch

Still needed, unfortunately. I'm not sure of the process to get this patch upstreamed, but if anybody has experience and thinks it has a shot, I'm glad to help.

Found a pretty comprehensive guide on the wiki, so that should get us going: https://openwrt.org/submitting-patches