Hello OpenWrt forum!
I am currently using rpi4 as my main router with LuCI openwrt-23.05 branch.
I have already set up SQM cake.
My network environment and problem is following.
I have few desktops (A,B,C) and one unraid server.
When I am downloading through deluge on my server, it does not affect internet at all.
However - for example - when desktop A is playing games (League of Legends or CS:GO or any real time online games) and any other desktop is downloading something, it will severely affect ping of the desktop A.
It affects other way around as well. (Desktop B and C playing game and desktop A downloading something will make anything unplayable.)
Currently, desktop A is directly connected to router via ethernet and desktop B and C is connected via powerline. So, I thought powerline was some kind of bottleneck and tested direct connection via ethernet or even wifi and it still affects the same.
What I don't really understand is why is downloading something from my server, it wouldn't affect but desktops will each other.
I am hoping to solve this but I would love to have some input from more advanced users. I would greatly appreciate any input.
brada4
September 22, 2024, 8:29am
2
Make tests wired to LAN using https://www.waveform.com/tools/bufferbloat and post the result, if possible connecting directly to provider's ethernet port. Paste 2 result links.
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </>
" button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/sqm
tc -s qdisc
Thanks for your input!
Buffer bloat Test Results - directly connected to ISP's ONT:
https://www.waveform.com/tools/bufferbloat?test-id=4bbbd917-ffc7-4f1e-91c4-921bfa5dffa0
https://www.waveform.com/tools/bufferbloat?test-id=d9ae6ce6-65ea-4b87-a0b5-fe99dd2a0501
Buffer bloat Test Results - connected to rpi4 openwrt router:
https://www.waveform.com/tools/bufferbloat?test-id=151e29a2-6882-4aff-9131-368747a75c1d
https://www.waveform.com/tools/bufferbloat?test-id=d9df0fca-21f9-4f36-95a1-e745d0113674
And here are the results of the commends.
[root@d83add / 49°]# ubus call system board
at /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/sqm
tc -s qdisc{
"kernel": "5.15.150",
"hostname": "rpi4-d83add2c59",
"system": "ARMv8 Processor rev 3",
"model": "Raspberry Pi 4 Model B Rev 1.5",
"board_name": "raspberrypi,4-model-b",
"rootfs_type": "ext4",
"release": {
"distribution": "OpenWrt",
"version": "23.05.3",
"revision": "r23809-234f1a2efa",
"target": "bcm27xx/bcm2711",
"description": "OpenWrt 23.05.3 r23809-234f1a2efa"
}
}
[root@d83add / 47°]# cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd1f:5a42:6256::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
config interface 'lan'
option device 'eth0'
option proto 'static'
option ipaddr 'REDACTED'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option proto 'dhcp'
option device 'eth1'
[root@d83add / 47°]# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
option channel '36'
option band '5g'
option htmode 'HT20'
option disabled '1'
option country '00'
option legacy_rates '0'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'ap103'
option encryption 'psk2+ccmp'
option key 'somerandomhardtoguesspassword'
[root@d83add / 47°]# cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option cachesize '5000'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option nonwildcard '1'
option localservice '1'
option ednspacket_max '1232'
option filter_aaaa '0'
option filter_a '0'
option dnsforwardmax '2300'
option min_cache_ttl '270'
list address '/router/REDACTED'
list rebind_domain 'dns.msftncsi.com'
option serversfile '/var/run/adblock-fast/dnsmasq.servers'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option ra 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '3'
config host
option ip 'REDACTED'
option name 'REDACTED'
list mac 'REDACTED'
config host
list mac 'REDACTED'
option ip 'REDACTED'
config host
list mac 'REDACTED'
option ip 'REDACTED'
config host
option name 'REDACTED'
list mac 'REDACTED'
option ip 'REDACTED'
config host
list mac 'REDACTED'
option ip 'REDACTED'
config host
list mac 'REDACTED'
option ip 'REDACTED'
[root@d83add / 47°]# cat /etc/config/sqm
config queue 'eth1'
option enabled '1'
option interface 'eth1'
option download '950000'
option upload '930000'
option qdisc 'cake'
option script 'piece_of_cake.qos'
option linklayer 'ethernet'
option debug_logging '0'
option verbosity '5'
option overhead '44'
[root@d83add / 47°]# tc -s qdisc
qdisc noqueue 0: dev lo root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc mq 0: dev eth0 root
Sent 12080250 bytes 14518 pkt (dropped 0, overlimits 0 requeues 211)
backlog 0b 0p requeues 211
qdisc fq_codel 0: dev eth0 parent :5 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 5097099 bytes 4328 pkt (dropped 0, overlimits 0 requeues 133)
backlog 0b 0p requeues 133
maxpacket 1514 drop_overlimit 0 new_flow_count 44 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 722292 bytes 1641 pkt (dropped 0, overlimits 0 requeues 4)
backlog 0b 0p requeues 4
maxpacket 82 drop_overlimit 0 new_flow_count 1 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 1026186 bytes 2822 pkt (dropped 0, overlimits 0 requeues 2)
backlog 0b 0p requeues 2
maxpacket 264 drop_overlimit 0 new_flow_count 2 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 3773140 bytes 3878 pkt (dropped 0, overlimits 0 requeues 62)
backlog 0b 0p requeues 62
maxpacket 1514 drop_overlimit 0 new_flow_count 36 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 1461533 bytes 1849 pkt (dropped 0, overlimits 0 requeues 10)
backlog 0b 0p requeues 10
maxpacket 1514 drop_overlimit 0 new_flow_count 5 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc cake 800b: dev eth1 root refcnt 2 bandwidth 930Mbit besteffort triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms noatm overhead 44
Sent 1980135 bytes 7426 pkt (dropped 0, overlimits 189 requeues 0)
backlog 0b 0p requeues 0
memory used: 8256b of 15140Kb
capacity estimate: 930Mbit
min/max network layer size: 36 / 1500
min/max overhead-adjusted size: 80 / 1544
average network hdr offset: 14
Tin 0
thresh 930Mbit
target 5ms
interval 100ms
pk_delay 9us
av_delay 1us
sp_delay 0us
backlog 0b
pkts 7426
bytes 1980135
way_inds 83
way_miss 594
way_cols 0
drops 0
marks 0
ack_drop 0
sp_flows 4
bk_flows 1
un_flows 0
max_len 4482
quantum 1514
qdisc ingress ffff: dev eth1 parent ffff:fff1 ----------------
Sent 10997271 bytes 12843 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc cake 800c: dev ifb4eth1 root refcnt 2 bandwidth 950Mbit besteffort triple-isolate nonat wash no-ack-filter split-gso rtt 100ms noatm overhead 44
Sent 11384873 bytes 12843 pkt (dropped 0, overlimits 2727 requeues 0)
backlog 0b 0p requeues 0
memory used: 513466b of 15140Kb
capacity estimate: 950Mbit
min/max network layer size: 46 / 1500
min/max overhead-adjusted size: 90 / 1544
average network hdr offset: 14
Tin 0
thresh 950Mbit
target 5ms
interval 100ms
pk_delay 148us
av_delay 52us
sp_delay 0us
backlog 0b
pkts 12843
bytes 11384873
way_inds 990
way_miss 579
way_cols 0
drops 0
marks 0
ack_drop 0
sp_flows 3
bk_flows 1
un_flows 0
max_len 60560
quantum 1514
brada4
September 22, 2024, 9:37am
4
Is your CPE performing NAT for 2nd time?
1 Like
egc
September 22, 2024, 11:48am
6
CPE is an acronym for Customer Premise(s) Equipment, which refers to any piece of connected equipment that is used for accessing the Internet or generally accessing services on a provider network, whether directly or indirectly connected to that network.
1 Like
As far as I know the ONT from Telus does not perform any NAT.... But that's my guess.
What I don't understand is why would downloading on my server which is in the same network wouldn't affect any other client while one PC downloading will affect all other PC's internet.
Got it. In this case I assume it will be ONT.
Thank you!
brada4
October 7, 2024, 4:49am
9
You need to fine tune SQM to your bandwidth so that you get fairness between connection streams and to some degree users.
Is there specific SQM queue Discipline that you recommend?
This is what I am using right now. And I have made sure to set the ingress and egress to the speed that doesn't cause bufferbloat.
brada4
October 7, 2024, 5:04am
11
You need to tune bandwidths
https://www.waveform.com/tools/bufferbloat -> note upload bandwidth and download bandwidth
Multiply them by 1024
set download/ingress to 0 and upload to half - measure, then to 3/4 measure, 7/8 measure, when upload added latency starts to increase make a step back.
Then repeat with download/ingress.