Skip to content

Instantly share code, notes, and snippets.

@Secret-Rabbit
Last active November 22, 2025 20:17
Show Gist options
  • Select an option

  • Save Secret-Rabbit/6b718c44b07a679ddfde5c25f12ff90e to your computer and use it in GitHub Desktop.

Select an option

Save Secret-Rabbit/6b718c44b07a679ddfde5c25f12ff90e to your computer and use it in GitHub Desktop.

Настройка скорости порта в OpenWrt 24.10

В этой версии OpenWrt уже используется DSA (Distributed Switch Architecture) вместо старого swconfig. Поэтому порты (lan1, lan2, wan и т.д.) — это полноценные сетевые интерфейсы. В UCI нет встроенных опций speed, duplex, autoneg. Скорость/дуплекс можно задавать напрямую через ethtool.

Внимание! В примере везеде предполагается настройка lan2, в реальности это может быть любой порт lan(n).

Как зафиксировать скорость на порту lan2.

  1. Установте ethtool (если ещё не установлен):
opkg update
opkg install ethtool
  1. Разово (проверка):
ethtool -s lan2 speed 100 duplex full autoneg off
ethtool lan2

Убедитесь, что линк поднялся на 100 Мбит/с Full.

  1. Чтобы сохранить настройку после перезагрузки: В OpenWrt 24.10 нужно использовать hotplug‑скрипт для интерфейсов.
  • Создайте файл /etc/hotplug.d/iface/99-force-speed с таким содержимым, если lan2 не входит в мост br-lan:
#!/bin/sh
[ "$ACTION" = "ifup" ] || exit 0

if [ "$DEVICE" = "lan2" ] ;  then
    ethtool -s lan2 speed 100 duplex full autoneg off
fi
  • Создайте файл /etc/hotplug.d/iface/99-force-speed с таким содержимым, если lan2 входит в мост br-lan:
#!/bin/sh
[ "$ACTION" = "ifup" ] || exit 0

# Проверяем именно имя интерфейса
if [ "$INTERFACE" = "lan" ]; then
    ethtool -s lan2 speed 100 duplex full autoneg off
fi

Сделайте его исполняемым:

chmod +x /etc/hotplug.d/iface/99-force-speed

Теперь при каждом поднятии интерфейса lan2 будет выставляться фиксированная скорость.

  1. Альтернатива (если нужно жёстко при старте системы): Добавьте команду в /etc/rc.local перед exit 0:
ethtool -s lan2 speed 100 duplex full autoneg off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment