Cake problems on RT-AC86U & my 5G/LTE ISP

eraserheadhair

New Around Here
Networking scrub here, learning things as I go to try and figure out how to make the internet better at our new place that doesnt have cables so our only real option is the new 5G/LTE modem that T-Mobile sells as Home Internet, this thing has terrible bufferbloat so I looked into using my own router that can circumvent that and got a GT-AC2900(RT-AC86U) with latest version of Merlin to run the built-in Cake.

It didn't occur to me that Cake was for static connections and wouldn't manually adjust itself when bandwidth changes so the moment it does change it would break, Looking around here I saw there was a script for OpenWrt instead that's built for connections like mine called https://github.com/lynxthecat/CAKE-autorate , the dev of this script @Lynx mentioned in another thread here that they could add support for Merlin but if that's not feasible right now I could try to install OpenWrt if possible. But before that I wanted to figure out something else.

When I was messing with Cake set to lower bandwidths to run bufferbloat tests the download packets were fine but the upload packets were still spiking the ping up heavily. I was thinking this was because I don't know how to configure it right but I found someone else's post with a similar issue on this router https://www.snbforums.com/threads/cake-compared-to-openwrt-version.78910/#post-762719 so now I'm concerned it's about hardware too.

If anyone has any guidance, ideas, or if I made any mistakes please let me know, thank you.
 

heysoundude

Part of the Furniture
CakeQoS won't help, for exactly the reason you noted in your 2nd Paragraph: Wireless connections are inherently dynamic in nature. Unless you live right next to a cell site, you'll always have a 25+ms ping, so gaming is most definitely not gonna happen (I'm 150m from my wireless provider's nearest cell site and when I ping them I get ~40ms usually). Further, they already have QoS on their connection to you in some way/shape/form, so you trying to apply it only gums up the works that much more.

when you say your place "doesn't have cables" do you mean RG6 cabling used for cable TV, or no cables at all? not even copper phone lines?
the highest speeds over phone lines are around 50-60/10Mbps...that's generally plenty quick if you're not doing gaming or don't have more than 2-3 ppl in the house.
the bonus to me of DSL over cable is that the ping to my ISP is "stable," and usually lower than cable. (I checked my spdMerlin just a while ago and the last check it performed was <7ms jitter and ping to my ISP; 6.66ms to be exact)

so, it's not the hardware/provider, it's your method of connecting the two. make a wired one and your experience will improve considerably.
 
Last edited:

Lynx

Senior Member
Networking scrub here, learning things as I go to try and figure out how to make the internet better at our new place that doesnt have cables so our only real option is the new 5G/LTE modem that T-Mobile sells as Home Internet, this thing has terrible bufferbloat so I looked into using my own router that can circumvent that and got a GT-AC2900(RT-AC86U) with latest version of Merlin to run the built-in Cake.

It didn't occur to me that Cake was for static connections and wouldn't manually adjust itself when bandwidth changes so the moment it does change it would break, Looking around here I saw there was a script for OpenWrt instead that's built for connections like mine called https://github.com/lynxthecat/CAKE-autorate , the dev of this script @Lynx mentioned in another thread here that they could add support for Merlin but if that's not feasible right now I could try to install OpenWrt if possible. But before that I wanted to figure out something else.

When I was messing with Cake set to lower bandwidths to run bufferbloat tests the download packets were fine but the upload packets were still spiking the ping up heavily. I was thinking this was because I don't know how to configure it right but I found someone else's post with a similar issue on this router https://www.snbforums.com/threads/cake-compared-to-openwrt-version.78910/#post-762719 so now I'm concerned it's about hardware too.

If anyone has any guidance, ideas, or if I made any mistakes please let me know, thank you.

A fair number of individuals now successfully use my CAKE-autorate script on OpenWrt to facilitate the use of CAKE on variable rate connections like LTE or Starlink. See this OpenWrt thread. I think (well hope) my script could be made to work in Asus Merlin with next to no adaptation. And I am eager to help with this so that Asus Merlin users can benefit from it too.

I myself use 4G LTE and with this script on an OpenWrt router, despite bandwidth fluctuating between 10Mbit/s and 70Mbit/s for download and 20-30Mbit/s for upload, I can keep latency to circa 45ms with a sufficiently tight spread to enable Teams and Zoom to work perfectly despite active downloads / Amazon Prime / Netflix, etc. This is also in the context of a VPN over WireGuard (NordVPN).

In your case I would first try setting CAKE bandwidth manually to a low value (e.g. 1Mbit/s) for upload and download and verifying that that results in next to no bufferbloat. You can test here:


If so, then the issue is really just about getting the CAKE bandwidth dynamically set properly for your connection, i.e. not too high that bufferbloat creeps through and not too low that too much bandwidth is sacrificed, and for this purpose my script should work for you.

As mentioned above this script cannot fix a terrible connection. It cannot create bandwidth that does not exist. Ideally you would work on optimizing the LTE modem placement or consider an outdoor antenna and, in any case, work on improving LTE connection stats. In my case I was able to improve things vastly by playing around with my LTE modem placement to give the best possible LTE stats.

I'd be happy to help you to get the script to work.

@dave14305 will my script (CAKE-autorate.sh and config.sh) work out the box in Asus Merlin or not quite? This script requires both 'bash' and 'iputils-ping'. Presumably Asus Merlin has 'bash' installed by default. Is 'iputils-ping' available as a package to install (if not installed already?). In terms of the script I presume at least the rx_bytes and tx_bytes paths in the config.sh may need changing for the Asus Merlin setup.
 
Last edited:

dave14305

Part of the Furniture
Presumably Asus Merlin has 'bash' installed by default.
No, it does not. Bash is available in Entware, but not sure what the side effects would be.
Is 'iputils-ping' available as a package to install
Yes, it’s also available in Entware.
 

Lynx

Senior Member
Well @eraserheadhair that's a good sign. So you can try installing those packages via Entware and then downloading and running my script and seeing what error message(s) get reported.

To work out:

Code:
dl_if=ifb-wg-pbr # download interface
ul_if=wan        # upload interface

you can run 'tc qdisc ls' and look at what interfaces CAKE have been set up on.

I imagine that these paths:

Code:
case "${dl_if}" in
    \veth*)
        rx_bytes_path="/sys/class/net/${dl_if}/statistics/tx_bytes"
        ;;
    \ifb*)
        rx_bytes_path="/sys/class/net/${dl_if}/statistics/tx_bytes"
        ;;
    *)
        rx_bytes_path="/sys/class/net/${dl_if}/statistics/rx_bytes"
        ;;
esac

case "${ul_if}" in
    \veth*)
        tx_bytes_path="/sys/class/net/${ul_if}/statistics/rx_bytes"
        ;;
    \ifb*)
        tx_bytes_path="/sys/class/net/${ul_if}/statistics/rx_bytes"
        ;;
    *)
        tx_bytes_path="/sys/class/net/${ul_if}/statistics/tx_bytes"
        ;;
esac

may not get set correctly with this code. So this portion of 'config.sh' would likely need to be changed.
 

eraserheadhair

New Around Here
A fair number of individuals now successfully use my CAKE-autorate script on OpenWrt to facilitate the use of CAKE on variable rate connections like LTE or Starlink. See this OpenWrt thread. I think (well hope) my script could be made to work in Asus Merlin with next to no adaptation. And I am eager to help with this so that Asus Merlin users can benefit from it too.

I myself use 4G LTE and with this script on an OpenWrt router, despite bandwidth fluctuating between 10Mbit/s and 70Mbit/s for download and 20-30Mbit/s for upload, I can keep latency to circa 45ms with a sufficiently tight spread to enable Teams and Zoom to work perfectly despite active downloads / Amazon Prime / Netflix, etc. This is also in the context of a VPN over WireGuard (NordVPN).

In your case I would first try setting CAKE bandwidth manually to a low value (e.g. 1Mbit/s) for upload and download and verifying that that results in next to no bufferbloat. You can test here:


If so, then the issue is really just about getting the CAKE bandwidth dynamically set properly for your connection, i.e. not too high that bufferbloat creeps through and not too low that too much bandwidth is sacrificed, and for this purpose my script should work for you.

As mentioned above this script cannot fix a terrible connection. It cannot create bandwidth that does not exist. Ideally you would work on optimizing the LTE modem placement or consider an outdoor antenna and, in any case, work on improving LTE connection stats. In my case I was able to improve things vastly by playing around with my LTE modem placement to give the best possible LTE stats.

I'd be happy to help you to get the script to work.

@dave14305 will my script (CAKE-autorate.sh and config.sh) work out the box in Asus Merlin or not quite? This script requires both 'bash' and 'iputils-ping'. Presumably Asus Merlin has 'bash' installed by default. Is 'iputils-ping' available as a package to install (if not installed already?). In terms of the script I presume at least the rx_bytes and tx_bytes paths in the config.sh may need changing for the Asus Merlin setup.
Thank you for responding, I'm sorry but unfortunately I just returned our Asus router the other day cause this is an issue I couldnt really wait on before the Amazon return period was over, I got a different router (IQRouter V3) that's supposed to also run SQM and change as it goes but it doesnt seem to do it very fast, it's waveform scores are almost always B but it is giving much more consistent ping in voice calls around 100ms so now this might be the best we get, though I fear gaming is still shot cause 100ms is much less desirable. I did try the 1/1 mb thing like you asked with this and download was doing much better on waveform but upload was still punching it a bit to like +40, it was acting like this when i tried low values with the Asus too.

That said I believe this router is running OpenWRT just a consumer-friendly version, so if I can figure out how to backup this firmware then flash a version with your script I would want to try that though this idea might be beyond my skillset.
 

Lynx

Senior Member
Probably a good choice. Don't pay too much attention to the synthetic waveform test. It runs over only a short time. What really matters is that you can use your connection for the low latency applications you need. Low latency gaming will never be great on mobile connections. But VOIP, Teams and Zoom, and sufficient throughout for Prime, Netflix, etc., can be fine.

Can you improve your LTE stats by adjusting your LTE modem location/orientation or using outdoor antenna? Ideally you can see the LTE stats and adjust the position and orientation until these are as favourable as possible.
 

eraserheadhair

New Around Here
oh yeah I've been through that, I did manage to find the general direction of my tower and where it's best, which is about 4 feet above my computer desk next to the window so I had to do a makeshift hanging shelf lol, best I can get is average -8 RSRQ and 2 SINR up there
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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