Я только что настроил свой новый маршрутизатор (WRT1900ACS) и установил OpenWRT. У меня есть ADSL, что затрудняет правильную настройку скорости загрузки / загрузки sqm, поскольку она различается в зависимости от того, какой сегодня день. Есть ли способ динамически изменять эти настройки?
Вы хотите применить очередь с ограничением скорости и динамически изменить ее фактический лимит на основе реальной достижимой скорости ADSL?
Довольно интересная цель. Я не знаю готового программного обеспечения, делающего это, но зная, что вы знакомы с OpenWRT, можно было бы это исправить.
Более десяти лет назад я проделал нечто подобное с модемом серии ZyXEL P-600 и маршрутизатором на базе ПК с ОС Linux. Это сработало. Но просто установить статические «безопасные» ограничения на очередь было намного проще и надежнее. Скорость линии время от времени меняется, но они не сильно менялись, например, исходящий поток варьировался от 700 до 850 кбит / с, поэтому установка 650 кбит / с в очереди была довольно безопасной и работала очень хорошо без динамической настройки.
Что тебе нужно знать:
Это может быть, например, протокол SNMP, то есть некоторый набор OID, представляющих значения состояния, и приемник прерываний на маршрутизаторе, который выполняет действия на основе полученных прерываний. И ваш модем может генерировать ловушки событий.
Или, по крайней мере, найти чистый способ с использованием сценариев войти в интерфейс модема и проанализировать необходимые значения. Для P-600 были команды telnet, выдающие необходимые значения.
Если вы найдете эти способы или настройки, вы можете написать сценарии, которые либо просто опрашивают модем и вызывают сценарии, обновляющие параметры очереди, либо настраивают эти сценарии для запуска приемником прерываний.
Единственное предостережение: вы не сможете поместиться во встроенную вспышку и вам потребуется настроить extroot. Но это очень просто. Другое предостережение - это использование памяти (net-snmp trapd может потреблять память, я не знаю, даже если кто-то построил его для OpenWRT).