SQM (Smart Queue Management)

Hello,

OpenWrt One router: when installing the luci-app-sqm package, the following errors are displayed:

ip Not available
iptables Not available
tc Not available

Required dependency package ip is not available in any repository.
Required dependency package iptables is not available in any repository.
Required dependency package tc is not available in any repository.

Thank you for your attention.

Have a nice day

Are you using the OpenWRT release it shipped with?

try to install these dependencies manually, you likely will find that the actual packets have slightly longer names and multiple variants each, just pick one of the offered variants and install them, after that sqm should also install cleanly...

Yes among the first OpenWrt One and currently 25.12.3 is in progress without problem.

Thanks for the suggestions, I'll check it out

so that's actually a no.

seems the package dependencies are wrong/outdated, but as moeller0 pointed out, they're there, in several flavors -

So I believe what is happening is something like this:
a) sqm dependecies are given as "meta-packet names" like tc, ip, iptables that do not match any real package
b) the GUI packet management is not (yet?) designed to resolve such meta dependencies to install hitherto uninstalled packets that would satisfy a meta-dependency and hence things fail

You could try:
a) whether trying to install this from the command line would work, likely apt add luci-app-sqm
b) wether manually installing packets that satisfy the requirements will allow to install luci-app-sqm from the GUI, likely apk add tc-full ip-full iptables-nft (let me know if/how this works, it might not since I am typing this away from home and am not yet fluent in apk).

Thank you for the additional information. Indeed I saw some dependencies, I will check

I was able to install luci-app-sqm installed, as well as the tc-full, ip-full and iptables-nft packages.

However the Link Layer Adaptation tab link type from the Wiki does not match. It only offers "none (by default), Ethernet with overhead select VDSL2 and ATM select ADSL1, ADSL2 and ADSL2+

With these selections, the Internet connection is interrupted.
I keep the installation but disable SQM for now.

I neglected to specify that my OpenWrt One router is behind a Huawei router with a 4G Sim card connected to an outdoor 4G/5G antenna (I am in a white zone).

Could you show a screenshot of the Link Layer Adaptation tab please? Likely you need to select "Ethernet" first before more fields become visible...
Maybe post the output of the following commands from the command line:

cat /etc/config/sqm
ifstatus wan | grep -e device
tc -s qdisc

root@OpenWrt:~# cat /etc/config/sqm

config queue 'eth1'
        option enabled '1'
        option interface 'eth0'
        option download '69'
        option upload '3'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option linklayer 'none'
        option use_mq '0'
        option debug_logging '0'
        option verbosity '5'

root@OpenWrt:~# ifstatus wan | grep -e device
        "l3_device": "eth0",
        "device": "eth0",
root@OpenWrt:~# 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 cake 8021: dev eth0 root refcnt 17 bandwidth 3Kbit besteffort triple-isolate nat nowash no-ack-filter split-gso rtt 100ms raw overhead 0
 Sent 123700 bytes 710 pkt (dropped 2191, overlimits 5868 requeues 0)
 backlog 316Kb 1556p requeues 0
 memory used: 4198656b of 4Mb
 capacity estimate: 3Kbit
 min/max network layer size:           42 /    1354
 min/max overhead-adjusted size:       42 /    1354
 active queues:                         0
 average network hdr offset:           14

                  Tin 0
  thresh          3Kbit
  target          6.06s
  interval        12.1s
  pk_delay         133s
  av_delay        27.5s
  sp_delay        4.66s
  backlog         316Kb
  pkts             4457
  bytes          961370
  way_inds          630
  way_miss          399
  way_cols            0
  drops            2191
  marks               0
  ack_drop            0
  sp_flows           44
  bk_flows          259
  un_flows           94
  max_len          1354
  quantum           300

qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
 Sent 176984 bytes 1172 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc mq 0: dev eth1 root
 Sent 542120049 bytes 570319 pkt (dropped 0, overlimits 0 requeues 184)
 backlog 0b 0p requeues 184
qdisc fq_codel 0: dev eth1 parent :10 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :f limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :e limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :d limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :c limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :b limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :a limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :9 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :8 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :7 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :6 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :5 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 542120049 bytes 570319 pkt (dropped 0, overlimits 0 requeues 184)
 backlog 0b 0p requeues 184
  maxpacket 6435 drop_overlimit 0 new_flow_count 958 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc noqueue 0: dev br-lan root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev wg_lan root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev phy0-ap0 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev phy1-ap0 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev wg_protonvpn root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc cake 8022: dev ifb4eth0 root refcnt 2 bandwidth 69Kbit besteffort triple-isolate nat wash no-ack-filter split-gso rtt 100ms raw overhead 0
 Sent 194176 bytes 1172 pkt (dropped 0, overlimits 210 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 73984b of 4Mb
 capacity estimate: 69Kbit
 min/max network layer size:           60 /     426
 min/max overhead-adjusted size:       60 /     426
 active queues:                         0
 average network hdr offset:           14

                  Tin 0
  thresh         69Kbit
  target          263ms
  interval        527ms
  pk_delay       8.74ms
  av_delay        953us
  sp_delay         16us
  backlog            0b
  pkts             1172
  bytes          194176
  way_inds            0
  way_miss            3
  way_cols            0
  drops               0
  marks               0
  ack_drop            0
  sp_flows            0
  bk_flows            1
  un_flows            0
  max_len           558
  quantum           300

root@OpenWrt:~#

The rates in sqm are interpreted as Kilobit per second, and 69/3 is really not much, I assume you actually have Megabits per second so try:

instead... also set "Donneés additionelles par pacquet (octets)" to 44 and "Taille minimale des paquests" to 88 and sqm should work much better...

Not sure what a white zone is, but have a look at cake-autorate, as that is designed for variable rate links like LTE

Yes, great, everything works, thank you for your patience and for solving my problem.
I mark as resolved

Have a nice day

Thank you for your participation in resolving my issue.

Have a nice day

The white zone is poorly covered by the mobile network but with a good external antenna you can receive the signal more or less