Извиняюсь за задержку, в последнее время был очень занят. Всё время вспоминаю, что нужно ответить, но постоянно забываю.
Во-первых, оригинальный скрипт найти несложно, просто может занять немного времени — он должен быть в исходной теме по fq-codel.
Я всегда использовал этот скрипт только для аплоада и, учитывая скорость загрузки у большинства людей, не советую задавать shaping выше 80 Мбит/с на любом устройстве Edgemax (цифры начинают падать, и всё превращается в игру в угадайку).
Когда у меня был 100 Мбит, я не использовал downstream QOS, сейчас, когда у меня 50 Мбит и ERX, я его применяю, но downstream QOS со скриптом никогда не использовал — только встроенную версию в EdgeOS (smartqueue). Я выставлял 60 и получал 54,5.
Если скорость выше 50, действительно нужно экспериментировать, цифры начинают падать.
Так что, если нужен downstream, ищите тот же скрипт с добавленным downstream в оригинальной теме. Если не найдёте — я помогу.
Если нужен только аплоад, вот мой старый скрипт 😀
Для 40 Мбит и ниже используйте FQ_CODEL_QUANTUM 300 и HTB QUANTUM 1500.
Для 40 Мбит и выше — FQ_CODEL_QUANTUM 1514 и HTB QUANTUM 4000.
Если скорость загрузки меньше 1 Мбит, рекомендую поставить target на 10 мс.
Через SCP закиньте скрипт в папку boot (кажется) на роутере, потом дайте права на исполнение (chmod).
#!/bin/bash
WAN_INTF=eth1
WAN_UP_SPEED=5500kbit
TQDISC=fq_codel
FQ_CODEL_QUANTUM_UP=300
FQ_CODEL_TARGET_UP=5ms
HTB_QUANTUM_UP=1500
TQDISC_OPTS_UP=
if [ "$TQDISC" == fq_codel ]; then
TQDISC_OPTS_UP+="quantum $FQ_CODEL_QUANTUM_UP "
TQDISC_OPTS_UP+="target $FQ_CODEL_TARGET_UP "
fi
WAN_IFB="ifb_${WAN_INTF}"
TC=/sbin/tc
IP=/sbin/ip
$TC qdisc del dev $WAN_INTF root >/dev/null 2>&1
$TC qdisc del dev $WAN_IFB root >/dev/null 2>&1
[ "$1" == clear ] && exit 0
$TC qdisc add dev $WAN_INTF root handle 1: htb default 10
$TC class add dev $WAN_INTF parent 1: classid 1:1 \
htb quantum $HTB_QUANTUM_UP \
rate $WAN_UP_SPEED ceil $WAN_UP_SPEED
$TC class add dev $WAN_INTF parent 1:1 classid 1:10 \
htb quantum $HTB_QUANTUM_UP \
rate $WAN_UP_SPEED ceil $WAN_UP_SPEED
$TC qdisc add dev $WAN_INTF parent 1:10 handle 100: $TQDISC $TQDISC_OPTS_UP
$IP link add $WAN_IFB type ifb >/dev/null 2>&1
$TC qdisc add dev $WAN_IFB root handle 1: htb default 10
$IP link set $WAN_IFB up
$TC filter add dev $WAN_INTF parent ffff: \
protocol all prio 10 u32 match u32 0 0 flowid 1:1 \
action mirred egress redirect dev $WAN_IFB