2

Недавно мой провайдер изменил мою DSL-линию с фиксированной скорости на SRA. Это позволяет модему адаптировать скорость интернета к качеству линии вместо того, чтобы полностью ломаться (мой провайдер не заинтересован в ремонте линии, поэтому он ввел этот режим, потому что раньше у нас было время работы всего 90%), Скорость снижается до и ниже половины максимальной скорости. 1 Мбит / с вместо 2 Мбит / с - это боль, когда несколько человек одновременно используют Интернет, но лучше, чем никакой Интернет.

При настройке QoS (Качество обслуживания) или SQM (Smart Queue Management) мне нужно установить скорость загрузки примерно до 90% интернет-соединения. Если я установлю его выше фактической скорости, он не будет работать. Если я установлю его слишком низко, он будет мучительно медленным, а может быть быстрее.

Поскольку есть много людей, использующих соединение (также наблюдающих YouTube с низким разрешением и их машины, выполняющие автообновления, особенно ПК с Windows 10), использование Интернета для всего, что находится под влиянием высокой задержки (aka. Ping), действительно раздражает / невозможно без QoS.

Модем провайдера не имеет никакого QoS сам по себе.

Что я могу сделать, чтобы задержка / буферное плавание были низкими при максимальной скорости интернета?

(OpenWrt-версия - Chaos Calmer 15.05)

3 ответа3

2

Я надеюсь, что вы уже исправили это как-то сейчас. Но если вам не нужна или кому-то еще нужна помощь в этом, я пришел к следующему решению: используйте ваш маршрутизатор openwrt с включенным SQM (желательно торт и не openwrt, а LEDE) для ваших чувствительных к задержкам устройств. Затем подключите дешевую TP-LINK (стоковую прошивку) из порта wan к порту локальной сети вашего маршрутизатора openwrt/LEDE и включите функцию: ограничение полосы пропускания на tplink. Установите половину общей скорости и запустите несколько экземпляров потока YouTube Netflix и т.д. В сети маршрутизаторов tplink. Затем откройте программы, чувствительные к задержкам, в основной сети (openwrt/LEDE) и измерьте задержку. Если слишком большое значение ниже предела (в основном, загрузки) на вашем TPLINK, а если слишком низкое, поднимите его до тех пор, пока оно не повлияет на ваш пинг и т.д., Вам нужно найти правильный баланс. В качестве примечания вы не сможете получить доступ к своей странице маршрутизатора tplinks из openwrt, поэтому вы можете захотеть перейти в удаленную настройку и установить для нее значение 255.255 255 255 и установить для адреса wan статический статус, чтобы к нему можно было получить доступ из окна openwrt/LEDE ,

Когда вам нужна полная пропускная способность для вашего гостевого Wi-Fi, вы отключаете ограничение пропускной способности. Когда вы не можете выдержать лаг, вы включаете его:D

Это не лучшее решение, может быть, вы могли бы попробовать Pf-sense /IPFIRE qos /sqm, чтобы разделить пропускную способность и все такое, но для этого вам понадобится дополнительный компьютер.

Удачи!!

1

Я закончил тем, что сделал:

Я написал скрипт, который запускается на openwrt-router каждую минуту, чтобы получить текущую пропускную способность от модема, вычитает некоторый запас и применяет это значение к SQM-config

В случае, если у кого-то еще есть эта проблема, вот сценарий, который я написал. Я новичок в lua и программировании на OpenWrt, так что ожидайте ошибок, но, возможно, это поможет другим.

http=require'socket.http'
body,c,l,h = http.request('http://modem/page_showing_current_speed')

bandwidth = "%[kbps/kbps%]:</td><td colspan='3'>[%d.]+ / [%d.]+</td></tr>"
bw_s = string.sub(body, string.find(body, bandwidth))
bandwidth = "[%d.]+ / [%d.]+"
bw_s = string.sub(bw_s, string.find(bw_s, bandwidth))
upload_r = "[%d.]+ "
upload = string.sub(bw_s, string.find(bw_s, upload_r))
upload_r = "[%d.]+"
upload = string.sub(upload, string.find(upload, upload_r))
upload = upload:gsub("%.", "")
download_r = " [%d.]+"
download = string.sub(bw_s, string.find(bw_s, download_r))
download_r = "[%d.]+"
download = string.sub(download, string.find(download, download_r))
download = download:gsub("%.", "")
print(upload)
print(download)
f = io.open("/etc/config/sqm", "rw")
content = f:read("*all")
f:close(f)
oldcontent = content
content = content:gsub("option download '%d+", "option download '" .. download)
content = content:gsub("option upload '%d+", "option upload '" .. upload)
if content == oldcontent
    then
    else
        print(content)
        f2 = io.open("/etc/config/sqm", "w")
        f2:write(content)
        f2:flush(f2)
        f2:close(f2)

        os.execute("/etc/init.d/sqm restart")
end

затем запустите:

opkg update
opkg install luasocket
crontab -e
* * * * * lua /adjustsqm.lua
/etc/init.d/cron restart

он получает текущую скорость от модема каждую минуту и записывает ее в конфигурацию sqm

0

Попробуйте установить прошивку Gargoyle на свой маршрутизатор, на ней должна быть настроена адаптивная QOS, так что вам нужно только включить ее и использовать.

Я не могу гарантировать, что это работает, поэтому, пожалуйста, сделайте ваши собственные тесты и сообщите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .