Hi, I would like your opinion on my configuration for sqm and cake-authoring on Linksys MX5300 and Starlink.
SQM
❯ cat /etc/config/sqm
config queue 'eth1'
option enabled '1'
option interface 'wan'
option download '198000'
option upload '22500'
option qdisc 'cake'
option script 'piece_of_cake.qos'
option qdisc_advanced '1'
option ingress_ecn 'ECN'
option egress_ecn 'ECN'
option qdisc_really_really_advanced '1'
option itarget 'auto'
option etarget 'auto'
option linklayer 'ethernet'
option debug_logging '0'
option verbosity '5'
option squash_dscp '1'
option squash_ingress '1'
option iqdisc_opts 'nat dual-dsthost ingress'
option eqdisc_opts 'nat dual-srchost'
option overhead '68'
cake-autorate
#!/usr/bin/env bash
# *** INSTANCE-SPECIFIC CONFIGURATION OPTIONS ***
dl_if=ifb4wan # download interface
ul_if=wan # upload interface
adjust_dl_shaper_rate=1 # enable (1) or disable (0) actually changing the dl shaper rate
adjust_ul_shaper_rate=1 # enable (1) or disable (0) actually changing the ul shaper rate
min_dl_shaper_rate_kbps=40000 # minimum bandwidth for download (Kbit/s)
base_dl_shaper_rate_kbps=130000 # steady state bandwidth for download (Kbit/s)
max_dl_shaper_rate_kbps=220000 # maximum bandwidth for download (Kbit/s)
min_ul_shaper_rate_kbps=8000 # minimum bandwidth for upload (Kbit/s)
base_ul_shaper_rate_kbps=16500 # steady state bandwidth for upload (Kbit/s)
max_ul_shaper_rate_kbps=25000 # maximum bandwidth for upload (Kbit/s)
connection_active_thr_kbps=2000 # threshold in Kbit/s below which dl/ul is considered idle
# Logging toggles for various stats
output_processing_stats=1 # enable (1) or disable (0) output monitoring lines showing processing stats
output_load_stats=1 # enable (1) or disable (0) output monitoring lines showing achieved loads
output_reflector_stats=1 # enable (1) or disable (0) output monitoring lines showing reflector stats
output_summary_stats=1 # enable (1) or disable (0) output monitoring lines showing summary stats
output_cake_changes=1 # enable (1) or disable (0) output monitoring lines showing cake bandwidth changes
log_to_file=1 # enable (1) or disable (0) output logging to file (/tmp/cake-autorate.log)
log_file_max_time_mins=10 # maximum time between log file rotations
log_file_max_size_KB=2000 # maximum KB worth of log lines between log file rotations
### Delay thresholds
dl_owd_delta_delay_thr_ms=10.0
ul_owd_delta_delay_thr_ms=10.0
dl_avg_owd_delta_max_adjust_up_thr_ms=5.0
ul_avg_owd_delta_max_adjust_up_thr_ms=5.0
dl_avg_owd_delta_max_adjust_down_thr_ms=20.0
ul_avg_owd_delta_max_adjust_down_thr_ms=20.0
### Reflectors
reflectors=("8.8.8.8" "8.8.4.4" "1.1.1.1" "9.9.9.9" "2001:4860:4860::8888" "2001:4860:4860::8844" "2606:4700:4700::1111" "2620:fe::fe")
no_pingers=8
reflector_ping_interval_s=0.3
### Rate adjustment parameters
shaper_rate_min_adjust_down_bufferbloat=0.99 # how rapidly to reduce shaper rate upon detection of bufferbloat (min reduction)
shaper_rate_max_adjust_down_bufferbloat=0.75 # how rapidly to reduce shaper rate upon detection of bufferbloat (max reduction)
shaper_rate_min_adjust_up_load_high=1.0 # how rapidly to increase shaper rate upon high load detected (min increase)
shaper_rate_max_adjust_up_load_high=1.04 # how rapidly to increase shaper rate upon high load detected (max increase)
shaper_rate_adjust_down_load_low=0.99 # how rapidly to return down to base shaper rate upon idle or low load detected
shaper_rate_adjust_up_load_low=1.01 # how rapidly to return up to base shaper rate upon idle or low load detected
high_load_thr=0.75 # % of currently set bandwidth for detecting high load
# OWD baseline against which to measure delays
alpha_baseline_increase=0.001 # how rapidly baseline RTT is allowed to increase
alpha_baseline_decrease=0.9 # how rapidly baseline RTT is allowed to decrease
# OWD delta from baseline is tracked using ewma with alpha set below
alpha_delta_ewma=0.095
# Reflector health check
reflector_health_check_interval_s=1.0 # (seconds)
reflector_response_deadline_s=1.0 # (seconds)
The log extracted with tail -f /var/log/cake-autorate.primary.log
shows expected values.
The only thing is that I don't feel the latency has improved much. Maybe worsened. Before installing SQM and cake-autorate, the bufferbloat test (https://www.waveform.com/tools/bufferbloat) reported an average of +45 ms ping (which are Starlink's own) and +0 ms during both download and upload phases. Now the base latency is similar and if you add a +5/6 ms in download and upload.