Starlink TCP/IP

Starlink TCP/IP

BufferBloat is a real challenge on starlink connections

Bufferbloat In short, is your router maintaining a high amount of packets in its buffer. Keeping packets in buffer causes high latency, jitter, and makes low latency communications poor. Examples of low latency communication are video/voice calls, resource loading. The common indicator is long load times and intermittent load times.

Testing for bufferbloat

waveform has a nice testing tool that will track the latency changes to a destination while your connection is likely to be congested.

Managing buffer bloat with OpenWRT and SQM

OpenWRT contains a highly configurable packet scheduler, Smart Queue Management (SQM.) SQM allows configuration of packet flows in the routers buffer. SQM also allows you to configure sane defaults for all flows.

The SQM configuration I am using

opkg install luci-app-sqm


	config queue 'eth1'
		option interface 'eth1'
		option linklayer 'none'
		option verbosity '5'
		option debug_logging '1'
		option qdisc 'cake'
		option enabled '1'
		option upload '11000'
		option script 'piece_of_cake.qos'
		option download '45000'
	

Enabling / acquring BBR for openWRT

install kmod-tcp-bbr using your favorite package manager (Luci, opkg) opkg update; opkg install kmod-tcp-bbr

sysctl -a |grep congestion
net.ipv4.tcp_allowed_congestion_control = reno cubic bbr
net.ipv4.tcp_available_congestion_control = reno cubic bbr
net.ipv4.tcp_congestion_control = bbr

references

OpenWrt configuration
openWRT Traffic Shaping